diff --git a/DEPS b/DEPS
index d4454b5..369de67 100644
--- a/DEPS
+++ b/DEPS
@@ -40,11 +40,11 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': '56ff9a1c9dfdaf1cd6db3b62a5c2b739cd242032',
+  'skia_revision': 'c2ba75b50750f2b200d98f100f0779da1c746565',
   # 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': 'b55ff5c9e19b3cc0a945ed363ea926f3406e6af4',
+  'v8_revision': '2644e367904984e9cced64eaf3b911a0acb231d8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling swarming_client
   # and whatever else without interference from each other.
@@ -96,7 +96,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '788644ef37e7f17a8d6183a5e19cd66b5953c1d9',
+  'catapult_revision': 'ab7345371ad03603c5434f2a775ec65830067920',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
diff --git a/ash/common/system/chromeos/network/network_list_md.cc b/ash/common/system/chromeos/network/network_list_md.cc
index c93f2e8..c4cb241 100644
--- a/ash/common/system/chromeos/network/network_list_md.cc
+++ b/ash/common/system/chromeos/network/network_list_md.cc
@@ -30,7 +30,6 @@
 #include "ui/gfx/font.h"
 #include "ui/gfx/paint_vector_icon.h"
 #include "ui/gfx/vector_icons_public.h"
-#include "ui/views/border.h"
 #include "ui/views/controls/button/toggle_button.h"
 #include "ui/views/controls/label.h"
 #include "ui/views/controls/separator.h"
diff --git a/ash/common/system/chromeos/network/vpn_list_view.cc b/ash/common/system/chromeos/network/vpn_list_view.cc
index 6dccf46..4641523 100644
--- a/ash/common/system/chromeos/network/vpn_list_view.cc
+++ b/ash/common/system/chromeos/network/vpn_list_view.cc
@@ -113,21 +113,11 @@
                          const std::string& name,
                          int button_accessible_name_id)
       : parent_(parent) {
-    // TODO(varkha): Make this a sticky section header.
+    TrayPopupUtils::ConfigureAsStickyHeader(this);
     SetLayoutManager(new views::FillLayout);
     TriView* tri_view = TrayPopupUtils::CreateSubHeaderRowView();
     AddChildView(tri_view);
 
-    // Sets up the border. When the provider header is the first item in the
-    // list (i.e. when the list was empty before adding the provider row) there
-    // is already |kMenuSeparatorVerticalPadding| padding at the top of the
-    //  scroll contents, so only add that padding when the list was not |empty|.
-    // TODO(varkha): Delete this special handling when we allow the header to be
-    // sticky and just use ConfigureAsStickyHeader() instead.
-    tri_view->SetBorder(
-        views::CreateEmptyBorder(top_item ? 0 : kMenuSeparatorVerticalPadding,
-                                 0, kMenuSeparatorVerticalPadding, 0));
-
     views::Label* label = TrayPopupUtils::CreateDefaultLabel();
     TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::SUB_HEADER);
     style.SetupLabel(label);
@@ -402,12 +392,6 @@
       ->GetVisibleNetworkListByType(chromeos::NetworkTypePattern::VPN(),
                                     &networks);
 
-  if (!networks.empty() && IsConnectedOrConnecting(networks.front())) {
-    // If there is a connected or connecting network, show that network first.
-    AddNetwork(networks.front());
-    networks.erase(networks.begin());
-  }
-
   // Show all VPN providers and all networks that are currently disconnected.
   AddProvidersAndNetworks(networks);
 
diff --git a/ash/common/system/tray/label_tray_view.cc b/ash/common/system/tray/label_tray_view.cc
index d6aa7c1..c1099be 100644
--- a/ash/common/system/tray/label_tray_view.cc
+++ b/ash/common/system/tray/label_tray_view.cc
@@ -25,7 +25,6 @@
 // TODO(tdanderson): Remove this once material design is enabled by
 // default. See crbug.com/614453.
 const gfx::VectorIcon& ResourceIdToVectorIcon(int resource_id) {
-#if defined(OS_CHROMEOS)
   switch (resource_id) {
     case IDR_AURA_UBER_TRAY_ENTERPRISE:
       return kSystemMenuBusinessIcon;
@@ -39,8 +38,6 @@
       NOTREACHED();
       break;
   }
-#endif  // defined(OS_CHROMEOS)
-
   return gfx::kNoneIcon;
 }
 
diff --git a/ash/common/system/tray/system_tray.cc b/ash/common/system/tray/system_tray.cc
index 83b071e..2760977 100644
--- a/ash/common/system/tray/system_tray.cc
+++ b/ash/common/system/tray/system_tray.cc
@@ -14,8 +14,27 @@
 #include "ash/common/session/session_state_delegate.h"
 #include "ash/common/shelf/wm_shelf.h"
 #include "ash/common/shelf/wm_shelf_util.h"
+#include "ash/common/system/chromeos/audio/tray_audio.h"
+#include "ash/common/system/chromeos/bluetooth/tray_bluetooth.h"
+#include "ash/common/system/chromeos/brightness/tray_brightness.h"
+#include "ash/common/system/chromeos/cast/tray_cast.h"
+#include "ash/common/system/chromeos/enterprise/tray_enterprise.h"
+#include "ash/common/system/chromeos/media_security/multi_profile_media_tray_item.h"
+#include "ash/common/system/chromeos/network/tray_network.h"
+#include "ash/common/system/chromeos/network/tray_sms.h"
+#include "ash/common/system/chromeos/network/tray_vpn.h"
+#include "ash/common/system/chromeos/power/power_status.h"
+#include "ash/common/system/chromeos/power/tray_power.h"
+#include "ash/common/system/chromeos/screen_security/screen_capture_tray_item.h"
+#include "ash/common/system/chromeos/screen_security/screen_share_tray_item.h"
+#include "ash/common/system/chromeos/session/tray_session_length_limit.h"
+#include "ash/common/system/chromeos/settings/tray_settings.h"
+#include "ash/common/system/chromeos/supervised/tray_supervised_user.h"
+#include "ash/common/system/chromeos/tray_caps_lock.h"
+#include "ash/common/system/chromeos/tray_tracing.h"
 #include "ash/common/system/date/tray_date.h"
 #include "ash/common/system/date/tray_system_info.h"
+#include "ash/common/system/ime/tray_ime_chromeos.h"
 #include "ash/common/system/tiles/tray_tiles.h"
 #include "ash/common/system/tray/system_tray_controller.h"
 #include "ash/common/system/tray/system_tray_delegate.h"
@@ -36,7 +55,6 @@
 #include "ash/public/cpp/shell_window_ids.h"
 #include "base/logging.h"
 #include "base/metrics/histogram.h"
-#include "base/strings/utf_string_conversions.h"
 #include "base/timer/timer.h"
 #include "grit/ash_strings.h"
 #include "ui/base/accelerators/accelerator.h"
@@ -47,35 +65,13 @@
 #include "ui/events/event_constants.h"
 #include "ui/gfx/canvas.h"
 #include "ui/gfx/skia_util.h"
+#include "ui/message_center/message_center.h"
 #include "ui/message_center/message_center_style.h"
 #include "ui/views/border.h"
 #include "ui/views/controls/label.h"
 #include "ui/views/view.h"
 #include "ui/views/widget/widget.h"
 
-#if defined(OS_CHROMEOS)
-#include "ash/common/system/chromeos/audio/tray_audio.h"
-#include "ash/common/system/chromeos/bluetooth/tray_bluetooth.h"
-#include "ash/common/system/chromeos/brightness/tray_brightness.h"
-#include "ash/common/system/chromeos/cast/tray_cast.h"
-#include "ash/common/system/chromeos/enterprise/tray_enterprise.h"
-#include "ash/common/system/chromeos/media_security/multi_profile_media_tray_item.h"
-#include "ash/common/system/chromeos/network/tray_network.h"
-#include "ash/common/system/chromeos/network/tray_sms.h"
-#include "ash/common/system/chromeos/network/tray_vpn.h"
-#include "ash/common/system/chromeos/power/power_status.h"
-#include "ash/common/system/chromeos/power/tray_power.h"
-#include "ash/common/system/chromeos/screen_security/screen_capture_tray_item.h"
-#include "ash/common/system/chromeos/screen_security/screen_share_tray_item.h"
-#include "ash/common/system/chromeos/session/tray_session_length_limit.h"
-#include "ash/common/system/chromeos/settings/tray_settings.h"
-#include "ash/common/system/chromeos/supervised/tray_supervised_user.h"
-#include "ash/common/system/chromeos/tray_caps_lock.h"
-#include "ash/common/system/chromeos/tray_tracing.h"
-#include "ash/common/system/ime/tray_ime_chromeos.h"
-#include "ui/message_center/message_center.h"
-#endif
-
 using views::TrayBubbleView;
 
 namespace ash {
@@ -258,7 +254,7 @@
 
 void SystemTray::CreateItems(SystemTrayDelegate* delegate) {
   const bool use_md = MaterialDesignController::IsSystemTrayMenuMaterial();
-#if !defined(OS_WIN)
+
   // Create user items for each possible user.
   int maximum_user_profiles = WmShell::Get()
                                   ->GetSessionStateDelegate()
@@ -276,14 +272,12 @@
     // menu if more than one user is logged in.
     AddTrayItem(new TrayUserSeparator(this));
   }
-#endif
 
   tray_accessibility_ = new TrayAccessibility(this);
   if (!use_md)
     tray_date_ = new TrayDate(this);
   tray_update_ = new TrayUpdate(this);
 
-#if defined(OS_CHROMEOS)
   AddTrayItem(new TraySessionLengthLimit(this));
   AddTrayItem(new TrayEnterprise(this));
   AddTrayItem(new TraySupervisedUser(this));
@@ -321,18 +315,11 @@
     AddTrayItem(tray_tiles_);
     tray_system_info_ = new TraySystemInfo(this);
     AddTrayItem(tray_system_info_);
+    // Leading padding.
+    AddTrayItem(new PaddingTrayItem());
   } else {
     AddTrayItem(tray_date_);
   }
-#elif defined(OS_WIN)
-  AddTrayItem(tray_accessibility_);
-  AddTrayItem(tray_update_);
-  if (!use_md)
-    AddTrayItem(tray_date_);
-#endif
-  // Leading padding.
-  if (use_md)
-    AddTrayItem(new PaddingTrayItem());
 }
 
 void SystemTray::AddTrayItem(SystemTrayItem* item) {
@@ -527,10 +514,7 @@
 
 base::string16 SystemTray::GetAccessibleNameForTray() {
   base::string16 time = GetAccessibleTimeString(base::Time::Now());
-  base::string16 battery = base::ASCIIToUTF16("");
-#if defined(OS_CHROMEOS)
-  battery = PowerStatus::Get()->GetAccessibleNameString(false);
-#endif
+  base::string16 battery = PowerStatus::Get()->GetAccessibleNameString(false);
   return l10n_util::GetStringFUTF16(IDS_ASH_STATUS_TRAY_ACCESSIBLE_DESCRIPTION,
                                     time, battery);
 }
diff --git a/ash/common/system/tray/system_tray_notifier.cc b/ash/common/system/tray/system_tray_notifier.cc
index c443605..a318d19 100644
--- a/ash/common/system/tray/system_tray_notifier.cc
+++ b/ash/common/system/tray/system_tray_notifier.cc
@@ -5,11 +5,6 @@
 #include "ash/common/system/tray/system_tray_notifier.h"
 
 #include "ash/common/system/accessibility_observer.h"
-#include "ash/common/system/date/clock_observer.h"
-#include "ash/common/system/ime/ime_observer.h"
-#include "ash/common/system/user/user_observer.h"
-
-#if defined(OS_CHROMEOS)
 #include "ash/common/system/chromeos/bluetooth/bluetooth_observer.h"
 #include "ash/common/system/chromeos/enterprise/enterprise_domain_observer.h"
 #include "ash/common/system/chromeos/network/network_observer.h"
@@ -21,7 +16,9 @@
 #include "ash/common/system/chromeos/session/session_length_limit_observer.h"
 #include "ash/common/system/chromeos/tray_tracing.h"
 #include "ash/common/system/chromeos/virtual_keyboard/virtual_keyboard_observer.h"
-#endif
+#include "ash/common/system/date/clock_observer.h"
+#include "ash/common/system/ime/ime_observer.h"
+#include "ash/common/system/user/user_observer.h"
 
 namespace ash {
 
@@ -45,6 +42,24 @@
     observer.OnAccessibilityModeChanged(notify);
 }
 
+void SystemTrayNotifier::AddBluetoothObserver(BluetoothObserver* observer) {
+  bluetooth_observers_.AddObserver(observer);
+}
+
+void SystemTrayNotifier::RemoveBluetoothObserver(BluetoothObserver* observer) {
+  bluetooth_observers_.RemoveObserver(observer);
+}
+
+void SystemTrayNotifier::NotifyRefreshBluetooth() {
+  for (auto& observer : bluetooth_observers_)
+    observer.OnBluetoothRefresh();
+}
+
+void SystemTrayNotifier::NotifyBluetoothDiscoveringChanged() {
+  for (auto& observer : bluetooth_observers_)
+    observer.OnBluetoothDiscoveringChanged();
+}
+
 void SystemTrayNotifier::AddClockObserver(ClockObserver* observer) {
   clock_observers_.AddObserver(observer);
 }
@@ -73,6 +88,21 @@
     observer.OnSystemClockCanSetTimeChanged(can_set_time);
 }
 
+void SystemTrayNotifier::AddEnterpriseDomainObserver(
+    EnterpriseDomainObserver* observer) {
+  enterprise_domain_observers_.AddObserver(observer);
+}
+
+void SystemTrayNotifier::RemoveEnterpriseDomainObserver(
+    EnterpriseDomainObserver* observer) {
+  enterprise_domain_observers_.RemoveObserver(observer);
+}
+
+void SystemTrayNotifier::NotifyEnterpriseDomainChanged() {
+  for (auto& observer : enterprise_domain_observers_)
+    observer.OnEnterpriseDomainChanged();
+}
+
 void SystemTrayNotifier::AddIMEObserver(IMEObserver* observer) {
   ime_observers_.AddObserver(observer);
 }
@@ -91,61 +121,6 @@
     observer.OnIMEMenuActivationChanged(is_active);
 }
 
-void SystemTrayNotifier::AddUserObserver(UserObserver* observer) {
-  user_observers_.AddObserver(observer);
-}
-
-void SystemTrayNotifier::RemoveUserObserver(UserObserver* observer) {
-  user_observers_.RemoveObserver(observer);
-}
-
-void SystemTrayNotifier::NotifyUserUpdate() {
-  for (auto& observer : user_observers_)
-    observer.OnUserUpdate();
-}
-
-void SystemTrayNotifier::NotifyUserAddedToSession() {
-  for (auto& observer : user_observers_)
-    observer.OnUserAddedToSession();
-}
-
-////////////////////////////////////////////////////////////////////////////////
-
-#if defined(OS_CHROMEOS)
-
-void SystemTrayNotifier::AddBluetoothObserver(BluetoothObserver* observer) {
-  bluetooth_observers_.AddObserver(observer);
-}
-
-void SystemTrayNotifier::RemoveBluetoothObserver(BluetoothObserver* observer) {
-  bluetooth_observers_.RemoveObserver(observer);
-}
-
-void SystemTrayNotifier::NotifyRefreshBluetooth() {
-  for (auto& observer : bluetooth_observers_)
-    observer.OnBluetoothRefresh();
-}
-
-void SystemTrayNotifier::NotifyBluetoothDiscoveringChanged() {
-  for (auto& observer : bluetooth_observers_)
-    observer.OnBluetoothDiscoveringChanged();
-}
-
-void SystemTrayNotifier::AddEnterpriseDomainObserver(
-    EnterpriseDomainObserver* observer) {
-  enterprise_domain_observers_.AddObserver(observer);
-}
-
-void SystemTrayNotifier::RemoveEnterpriseDomainObserver(
-    EnterpriseDomainObserver* observer) {
-  enterprise_domain_observers_.RemoveObserver(observer);
-}
-
-void SystemTrayNotifier::NotifyEnterpriseDomainChanged() {
-  for (auto& observer : enterprise_domain_observers_)
-    observer.OnEnterpriseDomainChanged();
-}
-
 void SystemTrayNotifier::AddLastWindowClosedObserver(
     LastWindowClosedObserver* observer) {
   last_window_closed_observers_.AddObserver(observer);
@@ -287,6 +262,24 @@
     observer.OnTracingModeChanged(value);
 }
 
+void SystemTrayNotifier::AddUserObserver(UserObserver* observer) {
+  user_observers_.AddObserver(observer);
+}
+
+void SystemTrayNotifier::RemoveUserObserver(UserObserver* observer) {
+  user_observers_.RemoveObserver(observer);
+}
+
+void SystemTrayNotifier::NotifyUserUpdate() {
+  for (auto& observer : user_observers_)
+    observer.OnUserUpdate();
+}
+
+void SystemTrayNotifier::NotifyUserAddedToSession() {
+  for (auto& observer : user_observers_)
+    observer.OnUserAddedToSession();
+}
+
 void SystemTrayNotifier::AddVirtualKeyboardObserver(
     VirtualKeyboardObserver* observer) {
   virtual_keyboard_observers_.AddObserver(observer);
@@ -303,6 +296,4 @@
     observer.OnKeyboardSuppressionChanged(suppressed);
 }
 
-#endif  // defined(OS_CHROMEOS)
-
 }  // namespace ash
diff --git a/ash/common/system/tray/system_tray_notifier.h b/ash/common/system/tray/system_tray_notifier.h
index e313df1..bd65d94 100644
--- a/ash/common/system/tray/system_tray_notifier.h
+++ b/ash/common/system/tray/system_tray_notifier.h
@@ -11,22 +11,16 @@
 #include "ash/common/accessibility_types.h"
 #include "base/macros.h"
 #include "base/observer_list.h"
-
-#if defined(OS_CHROMEOS)
 #include "base/strings/string16.h"
 #include "base/time/time.h"
-#endif
 
 namespace ash {
 
 class AccessibilityObserver;
-class ClockObserver;
-class IMEObserver;
-class UserObserver;
-
-#if defined(OS_CHROMEOS)
 class BluetoothObserver;
+class ClockObserver;
 class EnterpriseDomainObserver;
+class IMEObserver;
 class LastWindowClosedObserver;
 class LogoutButtonObserver;
 class NetworkObserver;
@@ -35,8 +29,8 @@
 class ScreenShareObserver;
 class SessionLengthLimitObserver;
 class TracingObserver;
+class UserObserver;
 class VirtualKeyboardObserver;
-#endif
 
 namespace mojom {
 enum class UpdateSeverity;
@@ -54,6 +48,12 @@
   void NotifyAccessibilityModeChanged(
       AccessibilityNotificationVisibility notify);
 
+  // Bluetooth.
+  void AddBluetoothObserver(BluetoothObserver* observer);
+  void RemoveBluetoothObserver(BluetoothObserver* observer);
+  void NotifyRefreshBluetooth();
+  void NotifyBluetoothDiscoveringChanged();
+
   // Date and time.
   void AddClockObserver(ClockObserver* observer);
   void RemoveClockObserver(ClockObserver* observer);
@@ -62,30 +62,17 @@
   void NotifySystemClockTimeUpdated();
   void NotifySystemClockCanSetTimeChanged(bool can_set_time);
 
+  // Enterprise domain.
+  void AddEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
+  void RemoveEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
+  void NotifyEnterpriseDomainChanged();
+
   // Input methods.
   void AddIMEObserver(IMEObserver* observer);
   void RemoveIMEObserver(IMEObserver* observer);
   void NotifyRefreshIME();
   void NotifyRefreshIMEMenu(bool is_active);
 
-  // User.
-  void AddUserObserver(UserObserver* observer);
-  void RemoveUserObserver(UserObserver* observer);
-  void NotifyUserUpdate();
-  void NotifyUserAddedToSession();
-
-#if defined(OS_CHROMEOS)
-  // Bluetooth.
-  void AddBluetoothObserver(BluetoothObserver* observer);
-  void RemoveBluetoothObserver(BluetoothObserver* observer);
-  void NotifyRefreshBluetooth();
-  void NotifyBluetoothDiscoveringChanged();
-
-  // Enterprise domain.
-  void AddEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
-  void RemoveEnterpriseDomainObserver(EnterpriseDomainObserver* observer);
-  void NotifyEnterpriseDomainChanged();
-
   // Last window closed.
   void AddLastWindowClosedObserver(LastWindowClosedObserver* observer);
   void RemoveLastWindowClosedObserver(LastWindowClosedObserver* observer);
@@ -134,21 +121,23 @@
   void RemoveTracingObserver(TracingObserver* observer);
   void NotifyTracingModeChanged(bool value);
 
+  // User.
+  void AddUserObserver(UserObserver* observer);
+  void RemoveUserObserver(UserObserver* observer);
+  void NotifyUserUpdate();
+  void NotifyUserAddedToSession();
+
   // Virtual keyboard.
   void AddVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
   void RemoveVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
   void NotifyVirtualKeyboardSuppressionChanged(bool suppressed);
-#endif
 
  private:
   base::ObserverList<AccessibilityObserver> accessibility_observers_;
-  base::ObserverList<ClockObserver> clock_observers_;
-  base::ObserverList<IMEObserver> ime_observers_;
-  base::ObserverList<UserObserver> user_observers_;
-
-#if defined(OS_CHROMEOS)
   base::ObserverList<BluetoothObserver> bluetooth_observers_;
+  base::ObserverList<ClockObserver> clock_observers_;
   base::ObserverList<EnterpriseDomainObserver> enterprise_domain_observers_;
+  base::ObserverList<IMEObserver> ime_observers_;
   base::ObserverList<LastWindowClosedObserver> last_window_closed_observers_;
   base::ObserverList<LogoutButtonObserver> logout_button_observers_;
   base::ObserverList<NetworkObserver> network_observers_;
@@ -159,8 +148,8 @@
   base::ObserverList<SessionLengthLimitObserver>
       session_length_limit_observers_;
   base::ObserverList<TracingObserver> tracing_observers_;
+  base::ObserverList<UserObserver> user_observers_;
   base::ObserverList<VirtualKeyboardObserver> virtual_keyboard_observers_;
-#endif
 
   DISALLOW_COPY_AND_ASSIGN(SystemTrayNotifier);
 };
diff --git a/ash/common/system/tray/system_tray_unittest.cc b/ash/common/system/tray/system_tray_unittest.cc
index 6a9c270..332d9b9b 100644
--- a/ash/common/system/tray/system_tray_unittest.cc
+++ b/ash/common/system/tray/system_tray_unittest.cc
@@ -35,10 +35,6 @@
 #include "ui/views/widget/widget.h"
 #include "ui/views/widget/widget_delegate.h"
 
-#if defined(OS_WIN)
-#include "base/win/windows_version.h"
-#endif
-
 namespace ash {
 namespace test {
 
@@ -121,15 +117,9 @@
   RunAllPendingInMessageLoop();
 }
 
-// TODO(bruthig): Re-enable.  See https://crbug.com/665960.
-#if defined(OS_WIN)
-#define MAYBE_NullDefaultViewIsNotRecorded DISABLED_NullDefaultViewIsNotRecorded
-#else
-#define MAYBE_NullDefaultViewIsNotRecorded NullDefaultViewIsNotRecorded
-#endif
 // Verifies null default views are not recorded in the
 // "Ash.SystemMenu.DefaultView.VisibleItems" histogram.
-TEST_F(SystemTrayTest, MAYBE_NullDefaultViewIsNotRecorded) {
+TEST_F(SystemTrayTest, NullDefaultViewIsNotRecorded) {
   SystemTray* tray = GetPrimarySystemTray();
   ASSERT_TRUE(tray->GetWidget());
 
@@ -391,13 +381,8 @@
   ASSERT_TRUE(test_item->notification_view() != NULL);
 }
 
-// Test is flaky on Win7 and Cros (crbug.com/637978).
-#if defined(OS_CHROMEOS) || defined(OS_WIN)
-#define MAYBE_BubbleCreationTypesTest DISABLED_BubbleCreationTypesTest
-#else
-#define MAYBE_BubbleCreationTypesTest BubbleCreationTypesTest
-#endif
-TEST_F(SystemTrayTest, MAYBE_BubbleCreationTypesTest) {
+// Test is flaky. http://crbug.com/637978
+TEST_F(SystemTrayTest, DISABLED_BubbleCreationTypesTest) {
   SystemTray* tray = GetPrimarySystemTray();
   ASSERT_TRUE(tray->GetWidget());
 
@@ -523,13 +508,7 @@
   EXPECT_TRUE(tray->HasSystemBubble());
 }
 
-#if defined(OS_CHROMEOS)
-// Accessibility/Settings tray items are available only on cros.
-#define MAYBE_WithSystemModal WithSystemModal
-#else
-#define MAYBE_WithSystemModal DISABLED_WithSystemModal
-#endif
-TEST_F(SystemTrayTest, MAYBE_WithSystemModal) {
+TEST_F(SystemTrayTest, WithSystemModal) {
   // Check if the accessibility item is created even with system modal dialog.
   WmShell::Get()->accessibility_delegate()->SetVirtualKeyboardEnabled(true);
   std::unique_ptr<views::Widget> widget(CreateTestWidget(
@@ -589,7 +568,6 @@
   EXPECT_EQ(1.0f, tray->layer()->GetTargetOpacity());
 }
 
-#if defined(OS_CHROMEOS)
 // Tests that touch on an item in the system bubble triggers it to become
 // active.
 TEST_F(SystemTrayTest, TrayPopupItemContainerTouchFeedback) {
@@ -664,7 +642,6 @@
 
   EXPECT_EQ(0, notification_tray->tray_bubble_height_for_test());
 }
-#endif  // OS_CHROMEOS
 
 }  // namespace test
 }  // namespace ash
diff --git a/ash/common/system/tray/tray_details_view.cc b/ash/common/system/tray/tray_details_view.cc
index 2adf398..02b4b713 100644
--- a/ash/common/system/tray/tray_details_view.cc
+++ b/ash/common/system/tray/tray_details_view.cc
@@ -100,6 +100,26 @@
     PositionHeaderRows();
   }
 
+  void ReorderChildLayers(ui::Layer* parent_layer) override {
+    views::View::ReorderChildLayers(parent_layer);
+    ui::Layer* topmost_layer = TopmostLayer(this, parent_layer);
+    if (!topmost_layer)
+      return;
+
+    // Keep the sticky headers with layers above the rest of the children's
+    // layers. Make sure to avoid changing the stacking order of the layers that
+    // are children of |parent_layer| but do not belong to the same parent view.
+    // Note: this assumes that all views that have id=VIEW_ID_STICKY_HEADER have
+    // a layer.
+    for (int i = child_count() - 1; i >= 0; --i) {
+      View* child = child_at(i);
+      if (child->id() == VIEW_ID_STICKY_HEADER &&
+          child->layer() != topmost_layer) {
+        parent_layer->StackAbove(child->layer(), topmost_layer);
+      }
+    }
+  }
+
   void ViewHierarchyChanged(
       const ViewHierarchyChangedDetails& details) override {
     if (!details.is_add && details.parent == this) {
@@ -169,24 +189,31 @@
     Header* previous_header = nullptr;
     for (auto& header : base::Reversed(headers_)) {
       views::View* header_view = header.view;
-      header.draw_separator_below = false;
+      bool draw_separator_below = false;
       if (header.natural_offset >= scroll_offset) {
         previous_header = &header;
         header_view->SetY(header.natural_offset);
-        continue;
-      }
-      if (previous_header &&
-          previous_header->view->y() <= scroll_offset + header_view->height()) {
-        // Lower header displacing the header above.
-        header.draw_separator_below = true;
-        header_view->SetY(previous_header->view->y() - header_view->height());
       } else {
-        // A header becomes sticky.
-        header_view->SetY(scroll_offset);
-        header_view->Layout();
-        header_view->SchedulePaint();
+        if (previous_header &&
+            previous_header->view->y() <=
+                scroll_offset + header_view->height()) {
+          // Lower header displacing the header above.
+          draw_separator_below = true;
+          header_view->SetY(previous_header->view->y() - header_view->height());
+        } else {
+          // A header becomes sticky.
+          header_view->SetY(scroll_offset);
+          header_view->Layout();
+          header_view->SchedulePaint();
+        }
       }
-      break;
+      if (header.draw_separator_below != draw_separator_below) {
+        header.draw_separator_below = draw_separator_below;
+        TrayPopupUtils::ShowStickyHeaderSeparator(header_view,
+                                                  draw_separator_below);
+      }
+      if (header.natural_offset < scroll_offset)
+        break;
     }
   }
 
@@ -197,22 +224,11 @@
   bool PaintDelineation(const Header& header, const ui::PaintContext& context) {
     const View* view = header.view;
 
-    // If the header is where it normally belongs, draw nothing.
-    if (view->y() == header.natural_offset)
+    // If the header is where it normally belongs or If the header is pushed by
+    // a header directly below it, draw nothing.
+    if (view->y() == header.natural_offset || header.draw_separator_below)
       return false;
 
-    // If the header is pushed by a header directly below it, draw a separator.
-    if (header.draw_separator_below) {
-      // TODO(estade): look better at 1.5x scale.
-      ui::PaintRecorder recorder(context, size());
-      gfx::Canvas* canvas = recorder.canvas();
-      gfx::Rect separator = view->bounds();
-      separator.set_y(separator.bottom() - kSeparatorWidth);
-      separator.set_height(kSeparatorWidth);
-      canvas->FillRect(separator, kSeparatorColor);
-      return false;
-    }
-
     // Otherwise, draw a shadow below.
     DrawShadow(context,
                gfx::Rect(0, 0, view->width(), view->bounds().bottom()));
@@ -234,6 +250,25 @@
     canvas->DrawRect(shadowed_area, paint);
   }
 
+  // Recursively iterates through children to return the child layer that is
+  // stacked at the top. Only considers layers that are direct |parent_layer|'s
+  // children.
+  ui::Layer* TopmostLayer(views::View* view, ui::Layer* parent_layer) {
+    DCHECK(parent_layer);
+    // Iterate backwards through the children to find the topmost layer.
+    for (int i = view->child_count() - 1; i >= 0; --i) {
+      views::View* child = view->child_at(i);
+      ui::Layer* layer = TopmostLayer(child, parent_layer);
+      if (layer)
+        return layer;
+    }
+    if (view->layer() && view->layer() != parent_layer &&
+        view->layer()->parent() == parent_layer) {
+      return view->layer();
+    }
+    return nullptr;
+  }
+
   views::BoxLayout* box_layout_;
 
   // Header child views that stick to the top of visible viewport when scrolled.
diff --git a/ash/common/system/tray/tray_details_view_unittest.cc b/ash/common/system/tray/tray_details_view_unittest.cc
index de99261..27ef8ee 100644
--- a/ash/common/system/tray/tray_details_view_unittest.cc
+++ b/ash/common/system/tray/tray_details_view_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "ash/common/system/tray/tray_details_view.h"
 
+#include "ash/common/ash_view_ids.h"
 #include "ash/common/material_design/material_design_controller.h"
 #include "ash/common/system/tray/hover_highlight_view.h"
 #include "ash/common/system/tray/special_popup_row.h"
@@ -60,6 +61,8 @@
     title_row()->AddViewToRowNonMd(tray_popup_header_button_, true);
   }
 
+  void CreateScrollerViews() { CreateScrollableList(); }
+
  private:
   TrayPopupHeaderButton* tray_popup_header_button_;
 
@@ -312,5 +315,45 @@
   EXPECT_TRUE(button->background());
 }
 
+TEST_F(TrayDetailsViewTest, ScrollContentsTest) {
+  SystemTray* tray = GetPrimarySystemTray();
+  TestItem* test_item = new TestItem;
+  tray->AddTrayItem(test_item);
+  tray->ShowDefaultView(BUBBLE_CREATE_NEW);
+  RunAllPendingInMessageLoop();
+  tray->ShowDetailedView(test_item, 0, true, BUBBLE_USE_EXISTING);
+  RunAllPendingInMessageLoop();
+  test_item->detailed_view()->CreateScrollerViews();
+
+  test_item->detailed_view()->scroll_content()->SetPaintToLayer(true);
+  views::View* view1 = new views::View();
+  test_item->detailed_view()->scroll_content()->AddChildView(view1);
+  views::View* view2 = new views::View();
+  view2->SetPaintToLayer(true);
+  test_item->detailed_view()->scroll_content()->AddChildView(view2);
+  views::View* view3 = new views::View();
+  view3->SetPaintToLayer(true);
+  test_item->detailed_view()->scroll_content()->AddChildView(view3);
+
+  // Child layers should have same order as the child views.
+  const std::vector<ui::Layer*>& layers =
+      test_item->detailed_view()->scroll_content()->layer()->children();
+  EXPECT_EQ(2u, layers.size());
+  EXPECT_EQ(view2->layer(), layers[0]);
+  EXPECT_EQ(view3->layer(), layers[1]);
+
+  // Mark |view2| as sticky and add one more child (which will reorder layers).
+  view2->set_id(VIEW_ID_STICKY_HEADER);
+  views::View* view4 = new views::View();
+  view4->SetPaintToLayer(true);
+  test_item->detailed_view()->scroll_content()->AddChildView(view4);
+
+  // Sticky header layer should be above the last child's layer.
+  EXPECT_EQ(3u, layers.size());
+  EXPECT_EQ(view3->layer(), layers[0]);
+  EXPECT_EQ(view4->layer(), layers[1]);
+  EXPECT_EQ(view2->layer(), layers[2]);
+}
+
 }  // namespace test
 }  // namespace ash
diff --git a/ash/common/system/tray/tray_image_item.cc b/ash/common/system/tray/tray_image_item.cc
index 0140035..04c5ae49 100644
--- a/ash/common/system/tray/tray_image_item.cc
+++ b/ash/common/system/tray/tray_image_item.cc
@@ -29,18 +29,16 @@
   switch (resource_id) {
     case IDR_AURA_UBER_TRAY_ACCESSIBILITY:
       return kSystemTrayAccessibilityIcon;
-    case IDR_AURA_UBER_TRAY_UPDATE:
-      return kSystemTrayUpdateIcon;
-    case IDR_AURA_UBER_TRAY_VOLUME_MUTE:
-      return kSystemTrayVolumeMuteIcon;
-#if defined(OS_CHROMEOS)
     case IDR_AURA_UBER_TRAY_AUTO_ROTATION_LOCKED:
       return kSystemTrayRotationLockLockedIcon;
     case IDR_AURA_UBER_TRAY_CAPS_LOCK:
       return kSystemTrayCapsLockIcon;
     case IDR_AURA_UBER_TRAY_TRACING:
       return kSystemTrayTracingIcon;
-#endif
+    case IDR_AURA_UBER_TRAY_UPDATE:
+      return kSystemTrayUpdateIcon;
+    case IDR_AURA_UBER_TRAY_VOLUME_MUTE:
+      return kSystemTrayVolumeMuteIcon;
     default:
       NOTREACHED();
       break;
diff --git a/ash/common/system/tray/tray_notification_view.cc b/ash/common/system/tray/tray_notification_view.cc
index de4345d..f6a16a8 100644
--- a/ash/common/system/tray/tray_notification_view.cc
+++ b/ash/common/system/tray/tray_notification_view.cc
@@ -29,10 +29,8 @@
   switch (resource_id) {
     case IDR_AURA_UBER_TRAY_ACCESSIBILITY_DARK:
       return kSystemMenuAccessibilityIcon;
-#if defined(OS_CHROMEOS)
     case IDR_AURA_UBER_TRAY_SMS:
       return kSystemMenuSmsIcon;
-#endif
     default:
       NOTREACHED();
       break;
diff --git a/ash/common/system/tray/tray_popup_utils.cc b/ash/common/system/tray/tray_popup_utils.cc
index fef3d0c..ad46dd8 100644
--- a/ash/common/system/tray/tray_popup_utils.cc
+++ b/ash/common/system/tray/tray_popup_utils.cc
@@ -287,6 +287,23 @@
       views::Background::CreateSolidBackground(kBackgroundColor));
   view->SetBorder(
       views::CreateEmptyBorder(gfx::Insets(kMenuSeparatorVerticalPadding, 0)));
+  view->SetPaintToLayer(true);
+  view->layer()->SetFillsBoundsOpaquely(false);
+}
+
+void TrayPopupUtils::ShowStickyHeaderSeparator(views::View* view,
+                                               bool show_separator) {
+  if (show_separator) {
+    view->SetBorder(views::CreatePaddedBorder(
+        views::CreateSolidSidedBorder(0, 0, kSeparatorWidth, 0,
+                                      kHorizontalSeparatorColor),
+        gfx::Insets(kMenuSeparatorVerticalPadding, 0,
+                    kMenuSeparatorVerticalPadding - kSeparatorWidth, 0)));
+  } else {
+    view->SetBorder(views::CreateEmptyBorder(
+        gfx::Insets(kMenuSeparatorVerticalPadding, 0)));
+  }
+  view->SchedulePaint();
 }
 
 void TrayPopupUtils::ConfigureContainer(TriView::Container container,
diff --git a/ash/common/system/tray/tray_popup_utils.h b/ash/common/system/tray/tray_popup_utils.h
index 6b624288..557ce070 100644
--- a/ash/common/system/tray/tray_popup_utils.h
+++ b/ash/common/system/tray/tray_popup_utils.h
@@ -114,6 +114,9 @@
   // Sets up |view| to be a sticky header in a tray detail scroll view.
   static void ConfigureAsStickyHeader(views::View* view);
 
+  // Configures a |view| to have a visible separator below.
+  static void ShowStickyHeaderSeparator(views::View* view, bool show_separator);
+
   // Configures |container_view| just like CreateDefaultRowView() would
   // configure |container| on its returned TriView. To be used when mutliple
   // targetable areas are required within a single row.
diff --git a/chrome/app/theme/default_100_percent/common/download_progress_background32.png b/chrome/app/theme/default_100_percent/common/download_progress_background32.png
deleted file mode 100644
index 5ca5700..0000000
--- a/chrome/app/theme/default_100_percent/common/download_progress_background32.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/download_progress_foreground32.png b/chrome/app/theme/default_100_percent/common/download_progress_foreground32.png
deleted file mode 100644
index 5930790..0000000
--- a/chrome/app/theme/default_100_percent/common/download_progress_foreground32.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/omnibox_star.png b/chrome/app/theme/default_100_percent/common/omnibox_star.png
deleted file mode 100644
index 40c1cb5..0000000
--- a/chrome/app/theme/default_100_percent/common/omnibox_star.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/omnibox_star_selected.png b/chrome/app/theme/default_100_percent/common/omnibox_star_selected.png
deleted file mode 100644
index 7a643f5e..0000000
--- a/chrome/app/theme/default_100_percent/common/omnibox_star_selected.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/star.png b/chrome/app/theme/default_100_percent/common/star.png
deleted file mode 100644
index c93cba4..0000000
--- a/chrome/app/theme/default_100_percent/common/star.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/star_lit.png b/chrome/app/theme/default_100_percent/common/star_lit.png
deleted file mode 100644
index 4ae8e36a..0000000
--- a/chrome/app/theme/default_100_percent/common/star_lit.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_bottom.png b/chrome/app/theme/default_100_percent/common/textfield_bottom.png
deleted file mode 100644
index 599718a6..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_bottom.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_bottom_left.png b/chrome/app/theme/default_100_percent/common/textfield_bottom_left.png
deleted file mode 100644
index 00f4155..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_bottom_right.png b/chrome/app/theme/default_100_percent/common/textfield_bottom_right.png
deleted file mode 100644
index 095239fe..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_center.png b/chrome/app/theme/default_100_percent/common/textfield_center.png
deleted file mode 100644
index ac576dd..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_center.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_left.png b/chrome/app/theme/default_100_percent/common/textfield_left.png
deleted file mode 100644
index 7609be3..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_right.png b/chrome/app/theme/default_100_percent/common/textfield_right.png
deleted file mode 100644
index f93e102..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_top.png b/chrome/app/theme/default_100_percent/common/textfield_top.png
deleted file mode 100644
index 500ce48..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_top.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_top_left.png b/chrome/app/theme/default_100_percent/common/textfield_top_left.png
deleted file mode 100644
index 1fb91f2..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_top_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/common/textfield_top_right.png b/chrome/app/theme/default_100_percent/common/textfield_top_right.png
deleted file mode 100644
index a06490d7..0000000
--- a/chrome/app/theme/default_100_percent/common/textfield_top_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_close.png b/chrome/app/theme/default_100_percent/panel_close.png
deleted file mode 100644
index 37e27eec..0000000
--- a/chrome/app/theme/default_100_percent/panel_close.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_close_click.png b/chrome/app/theme/default_100_percent/panel_close_click.png
deleted file mode 100644
index 7b9a6277..0000000
--- a/chrome/app/theme/default_100_percent/panel_close_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_close_hover.png b/chrome/app/theme/default_100_percent/panel_close_hover.png
deleted file mode 100644
index 078e96d..0000000
--- a/chrome/app/theme/default_100_percent/panel_close_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_minimize.png b/chrome/app/theme/default_100_percent/panel_minimize.png
deleted file mode 100644
index b26fdb62..0000000
--- a/chrome/app/theme/default_100_percent/panel_minimize.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_minimize_click.png b/chrome/app/theme/default_100_percent/panel_minimize_click.png
deleted file mode 100644
index 7775ab8..0000000
--- a/chrome/app/theme/default_100_percent/panel_minimize_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_minimize_hover.png b/chrome/app/theme/default_100_percent/panel_minimize_hover.png
deleted file mode 100644
index 44553ef..0000000
--- a/chrome/app/theme/default_100_percent/panel_minimize_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_restore.png b/chrome/app/theme/default_100_percent/panel_restore.png
deleted file mode 100644
index 63b1e721..0000000
--- a/chrome/app/theme/default_100_percent/panel_restore.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_restore_click.png b/chrome/app/theme/default_100_percent/panel_restore_click.png
deleted file mode 100644
index 1b4cc0c..0000000
--- a/chrome/app/theme/default_100_percent/panel_restore_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_100_percent/panel_restore_hover.png b/chrome/app/theme/default_100_percent/panel_restore_hover.png
deleted file mode 100644
index 984e82ee..0000000
--- a/chrome/app/theme/default_100_percent/panel_restore_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/download_progress_background32.png b/chrome/app/theme/default_200_percent/common/download_progress_background32.png
deleted file mode 100644
index 340e0967..0000000
--- a/chrome/app/theme/default_200_percent/common/download_progress_background32.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/download_progress_foreground32.png b/chrome/app/theme/default_200_percent/common/download_progress_foreground32.png
deleted file mode 100644
index 5c580b9..0000000
--- a/chrome/app/theme/default_200_percent/common/download_progress_foreground32.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/omnibox_star.png b/chrome/app/theme/default_200_percent/common/omnibox_star.png
deleted file mode 100644
index 596db862..0000000
--- a/chrome/app/theme/default_200_percent/common/omnibox_star.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/star.png b/chrome/app/theme/default_200_percent/common/star.png
deleted file mode 100644
index 6b4979a2..0000000
--- a/chrome/app/theme/default_200_percent/common/star.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/star_lit.png b/chrome/app/theme/default_200_percent/common/star_lit.png
deleted file mode 100644
index 10f46b51..0000000
--- a/chrome/app/theme/default_200_percent/common/star_lit.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_bottom.png b/chrome/app/theme/default_200_percent/common/textfield_bottom.png
deleted file mode 100644
index ce4e971..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_bottom.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_bottom_left.png b/chrome/app/theme/default_200_percent/common/textfield_bottom_left.png
deleted file mode 100644
index 2346ab0..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_bottom_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_bottom_right.png b/chrome/app/theme/default_200_percent/common/textfield_bottom_right.png
deleted file mode 100644
index 0ed4654..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_bottom_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_center.png b/chrome/app/theme/default_200_percent/common/textfield_center.png
deleted file mode 100644
index 22a2846..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_center.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_left.png b/chrome/app/theme/default_200_percent/common/textfield_left.png
deleted file mode 100644
index ac46efea..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_right.png b/chrome/app/theme/default_200_percent/common/textfield_right.png
deleted file mode 100644
index 90f09fa..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_top.png b/chrome/app/theme/default_200_percent/common/textfield_top.png
deleted file mode 100644
index 5c81b94..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_top.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_top_left.png b/chrome/app/theme/default_200_percent/common/textfield_top_left.png
deleted file mode 100644
index 1deb461..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_top_left.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/common/textfield_top_right.png b/chrome/app/theme/default_200_percent/common/textfield_top_right.png
deleted file mode 100644
index 52a6101e..0000000
--- a/chrome/app/theme/default_200_percent/common/textfield_top_right.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_close.png b/chrome/app/theme/default_200_percent/panel_close.png
deleted file mode 100644
index 6feea76..0000000
--- a/chrome/app/theme/default_200_percent/panel_close.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_close_click.png b/chrome/app/theme/default_200_percent/panel_close_click.png
deleted file mode 100644
index df4af89..0000000
--- a/chrome/app/theme/default_200_percent/panel_close_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_close_hover.png b/chrome/app/theme/default_200_percent/panel_close_hover.png
deleted file mode 100644
index f59916b..0000000
--- a/chrome/app/theme/default_200_percent/panel_close_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_minimize.png b/chrome/app/theme/default_200_percent/panel_minimize.png
deleted file mode 100644
index f7d3a8ee..0000000
--- a/chrome/app/theme/default_200_percent/panel_minimize.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_minimize_click.png b/chrome/app/theme/default_200_percent/panel_minimize_click.png
deleted file mode 100644
index 5a2e568..0000000
--- a/chrome/app/theme/default_200_percent/panel_minimize_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_minimize_hover.png b/chrome/app/theme/default_200_percent/panel_minimize_hover.png
deleted file mode 100644
index 910ff13..0000000
--- a/chrome/app/theme/default_200_percent/panel_minimize_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_restore.png b/chrome/app/theme/default_200_percent/panel_restore.png
deleted file mode 100644
index b1d0daaba..0000000
--- a/chrome/app/theme/default_200_percent/panel_restore.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_restore_click.png b/chrome/app/theme/default_200_percent/panel_restore_click.png
deleted file mode 100644
index 441b205..0000000
--- a/chrome/app/theme/default_200_percent/panel_restore_click.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/default_200_percent/panel_restore_hover.png b/chrome/app/theme/default_200_percent/panel_restore_hover.png
deleted file mode 100644
index f10aa405..0000000
--- a/chrome/app/theme/default_200_percent/panel_restore_hover.png
+++ /dev/null
Binary files differ
diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd
index 868e023..7ad26d30 100644
--- a/chrome/app/theme/theme_resources.grd
+++ b/chrome/app/theme/theme_resources.grd
@@ -320,8 +320,6 @@
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_CONTENT_SETTING_BUBBLE_TOP" file="common/omnibox_content_setting_bubble_top.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_CONTENT_SETTING_BUBBLE_TOP_LEFT" file="common/omnibox_content_setting_bubble_top_left.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_CONTENT_SETTING_BUBBLE_TOP_RIGHT" file="common/omnibox_content_setting_bubble_top_right.png" />
-      </if>
-      <if expr="is_macosx">
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_BOTTOM" file="common/omnibox_ev_bubble_bottom.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_BOTTOM_LEFT" file="common/omnibox_ev_bubble_bottom_left.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_BOTTOM_RIGHT" file="common/omnibox_ev_bubble_bottom_right.png" />
@@ -331,11 +329,6 @@
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_TOP" file="common/omnibox_ev_bubble_top.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_TOP_LEFT" file="common/omnibox_ev_bubble_top_left.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_EV_BUBBLE_TOP_RIGHT" file="common/omnibox_ev_bubble_top_right.png" />
-      </if>
-      <if expr="is_macosx or is_ios">
-        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_KEYWORD_HINT_TAB" file="mac/omnibox_keyword_hint_tab.png" />
-      </if>
-      <if expr="is_macosx">
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_BOTTOM" file="common/omnibox_popup_border_and_shadow_bottom.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_BOTTOM_LEFT" file="common/omnibox_popup_border_and_shadow_bottom_left.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_BOTTOM_RIGHT" file="common/omnibox_popup_border_and_shadow_bottom_right.png" />
@@ -345,35 +338,26 @@
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_TOP" file="common/omnibox_popup_border_and_shadow_top.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_TOP_LEFT" file="common/omnibox_popup_border_and_shadow_top_left.png" />
         <structure type="chrome_scaled_image" name="IDR_OMNIBOX_POPUP_BORDER_AND_SHADOW_TOP_RIGHT" file="common/omnibox_popup_border_and_shadow_top_right.png" />
-      </if>
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SEARCH_SELECTED" file="common/omnibox_search_selected.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM" file="common/omnibox_selected_keyword_bubble_bottom.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM_LEFT" file="common/omnibox_selected_keyword_bubble_bottom_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM_RIGHT" file="common/omnibox_selected_keyword_bubble_bottom_right.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_CENTER" file="common/omnibox_selected_keyword_bubble_center.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_LEFT" file="common/omnibox_selected_keyword_bubble_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_RIGHT" file="common/omnibox_selected_keyword_bubble_right.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP" file="common/omnibox_selected_keyword_bubble_top.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP_LEFT" file="common/omnibox_selected_keyword_bubble_top_left.png" />
-      <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP_RIGHT" file="common/omnibox_selected_keyword_bubble_top_right.png" />
-      <if expr="is_macosx">
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM" file="common/omnibox_selected_keyword_bubble_bottom.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM_LEFT" file="common/omnibox_selected_keyword_bubble_bottom_left.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_BOTTOM_RIGHT" file="common/omnibox_selected_keyword_bubble_bottom_right.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_CENTER" file="common/omnibox_selected_keyword_bubble_center.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_LEFT" file="common/omnibox_selected_keyword_bubble_left.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_RIGHT" file="common/omnibox_selected_keyword_bubble_right.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP" file="common/omnibox_selected_keyword_bubble_top.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP_LEFT" file="common/omnibox_selected_keyword_bubble_top_left.png" />
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_SELECTED_KEYWORD_BUBBLE_TOP_RIGHT" file="common/omnibox_selected_keyword_bubble_top_right.png" />
         <structure type="chrome_scaled_image" name="IDR_OVERLAY_DROP_SHADOW" file="mac/overlay_drop_shadow.png" />
       </if>
+      <if expr="is_macosx or is_ios">
+        <structure type="chrome_scaled_image" name="IDR_OMNIBOX_KEYWORD_HINT_TAB" file="mac/omnibox_keyword_hint_tab.png" />
+      </if>
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_BAD" file="common/pageinfo_bad.png" />
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_GOOD" file="common/pageinfo_good.png" />
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_INFO" file="common/pageinfo_info.png" />
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_WARNING_MAJOR" file="common/pageinfo_warning_major.png" />
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_WARNING_MINOR" file="common/pageinfo_warning_minor.png" />
       <structure type="chrome_scaled_image" name="IDR_PAGEINFO_ENTERPRISE_MANAGED" file="common/pageinfo_enterprise_managed.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_CLOSE" file="panel_close.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_CLOSE_C" file="panel_close_click.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_CLOSE_H" file="panel_close_hover.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_MINIMIZE" file="panel_minimize.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_MINIMIZE_C" file="panel_minimize_click.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_MINIMIZE_H" file="panel_minimize_hover.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_RESTORE" file="panel_restore.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_RESTORE_C" file="panel_restore_click.png" />
-      <structure type="chrome_scaled_image" name="IDR_PANEL_RESTORE_H" file="panel_restore_hover.png" />
       <structure type="chrome_scaled_image" name="IDR_PLUGINS_FAVICON" file="common/favicon_extensions.png" />
       <structure type="chrome_scaled_image" name="IDR_PRERENDER" file="common/prerender_succeed_icon.png" />
       <if expr="chromeos">
@@ -535,10 +519,6 @@
         <structure type="chrome_scaled_image" name="IDR_SECONDARY_USER_SETTINGS" file="cros/secondary_user_settings.png" />
       </if>
       <structure type="chrome_scaled_image" name="IDR_SETTINGS_FAVICON" file="common/favicon_settings.png" />
-      <if expr="is_macosx">
-        <structure type="chrome_scaled_image" name="IDR_STAR" file="common/star.png" />
-        <structure type="chrome_scaled_image" name="IDR_STAR_LIT" file="common/star_lit.png" />
-      </if>
       <if expr="chromeos">
         <structure type="chrome_scaled_image" name="IDR_SUPERVISED_ILLUSTRATION_START" file="cros/supervised_illustration_start.png" />
         <structure type="chrome_scaled_image" name="IDR_SUPERVISED_ILLUSTRATION_DONE" file="cros/supervised_illsutration_done.png" />
@@ -577,17 +557,6 @@
       <if expr="chromeos">
         <structure type="chrome_scaled_image" name="IDR_TECHNICAL_ERROR" file="cros/technical_error.png" />
       </if>
-      <if expr="is_macosx">
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_BOTTOM" file="common/textfield_bottom.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_BOTTOM_LEFT" file="common/textfield_bottom_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_BOTTOM_RIGHT" file="common/textfield_bottom_right.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_CENTER" file="common/textfield_center.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_LEFT" file="common/textfield_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_RIGHT" file="common/textfield_right.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_TOP" file="common/textfield_top.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_TOP_LEFT" file="common/textfield_top_left.png" />
-        <structure type="chrome_scaled_image" name="IDR_TEXTFIELD_TOP_RIGHT" file="common/textfield_top_right.png" />
-      </if>
       <structure type="chrome_scaled_image" name="IDR_THEME_BUTTON_BACKGROUND" file="notused.png" />
       <if expr="not use_ash">
         <structure type="chrome_scaled_image" name="IDR_THEME_FRAME" file="theme_frame.png" />
diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc
index be75eba..891dc842 100644
--- a/chrome/browser/chromeos/arc/arc_service_launcher.cc
+++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
@@ -101,9 +101,10 @@
   auto intent_helper = base::MakeUnique<ArcIntentHelperBridge>(
       arc_bridge_service, arc_service_manager_->icon_loader(),
       arc_service_manager_->activity_resolver());
-  // We don't have to remove observer since
-  // ArcServiceManager always outlives ArcIntentHelperBridge.
-  intent_helper->AddObserver(arc_service_manager_.get());
+  // We don't have to call ArcIntentHelperBridge::RemoveObserver() in
+  // ~ArcServiceManager() since the observer in ArcServiceManager always
+  // outlives the ArcIntentHelperBridge object.
+  intent_helper->AddObserver(arc_service_manager_->intent_helper_observer());
   arc_service_manager_->AddService(std::move(intent_helper));
   arc_service_manager_->AddService(
       base::MakeUnique<ArcImeService>(arc_bridge_service));
diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
index 4a7aa6d..df0ef9d 100644
--- a/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
+++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.cc
@@ -8,6 +8,7 @@
 #include "ash/shell.h"
 #include "ash/system/chromeos/power/power_event_observer.h"
 #include "base/command_line.h"
+#include "base/feature_list.h"
 #include "base/metrics/histogram_macros.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/values.h"
@@ -16,19 +17,29 @@
 #include "chrome/browser/chromeos/accessibility/accessibility_util.h"
 #include "chrome/browser/chromeos/login/helper.h"
 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
+#include "chrome/browser/chromeos/login/ui/shared_web_view.h"
+#include "chrome/browser/chromeos/login/ui/shared_web_view_factory.h"
+#include "chrome/browser/chromeos/login/ui/web_view_handle.h"
 #include "chrome/browser/chromeos/login/ui/webui_login_display.h"
+#include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
+#include "chrome/common/chrome_features.h"
+#include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
+#include "chrome/grit/generated_resources.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
+#include "components/prefs/pref_service.h"
 #include "components/user_manager/user.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/notification_service.h"
 #include "content/public/browser/notification_types.h"
 #include "content/public/browser/render_widget_host_view.h"
+#include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_ui.h"
 #include "ui/aura/client/capture_client.h"
 #include "ui/aura/window_event_dispatcher.h"
+#include "ui/base/l10n/l10n_util.h"
 #include "ui/base/x/x11_util.h"
 #include "ui/display/display.h"
 #include "ui/display/screen.h"
@@ -53,15 +64,61 @@
       keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_NONE);
 }
 
+chromeos::WebUILoginView::WebViewSettings BuildSettings() {
+  chromeos::WebUILoginView::WebViewSettings settings;
+  if (chromeos::WebUIScreenLocker::ShouldShareLockScreen()) {
+    settings.preloaded_url = GURL(kLoginURL);
+    settings.web_view_title =
+        l10n_util::GetStringUTF16(IDS_LOCK_SCREEN_TASK_MANAGER_NAME);
+  }
+  return settings;
+}
+
 }  // namespace
 
 namespace chromeos {
 
+// static
+bool WebUIScreenLocker::ShouldShareLockScreen() {
+  Profile* profile = ProfileHelper::Get()->GetProfileByUser(
+      user_manager::UserManager::Get()->GetActiveUser());
+
+  // We only want to share the lock screen if the user is likely to see the lock
+  // screen (since caching the lock screen uses memory). Without preloading,
+  // showing the lock screen can take so long we will timeout and crash the
+  // browser process (which currently takes down all of Chrome). See
+  // crbug.com/452599 for more context.
+  //
+  // prefs::kEnableAutoScreenLock controls if the lock screen is shown on
+  // suspend, so that is our primary hueristic.
+
+  // Note that |profile| can be null in tests.
+  return base::FeatureList::IsEnabled(features::kSharedLockScreen) && profile &&
+         profile->GetPrefs()->GetBoolean(prefs::kEnableAutoScreenLock);
+}
+
+// static
+void WebUIScreenLocker::Preload() {
+  DCHECK(ShouldShareLockScreen());
+  VLOG(1) << "Preloading lock screen";
+
+  SharedWebView* shared_web_view =
+      SharedWebViewFactory::GetForProfile(ProfileHelper::GetSigninProfile());
+
+  scoped_refptr<WebViewHandle> web_view_handle;
+  if (!shared_web_view->Get(GURL(kLoginURL), &web_view_handle)) {
+    web_view_handle->web_view()->LoadInitialURL(GURL(kLoginURL));
+    InitializeWebView(
+        web_view_handle->web_view(),
+        l10n_util::GetStringUTF16(IDS_LOCK_SCREEN_TASK_MANAGER_NAME));
+  }
+}
+
 ////////////////////////////////////////////////////////////////////////////////
 // WebUIScreenLocker implementation.
 
 WebUIScreenLocker::WebUIScreenLocker(ScreenLocker* screen_locker)
-    : WebUILoginView(WebViewSettings()),
+    : WebUILoginView(BuildSettings()),
       screen_locker_(screen_locker),
       network_state_helper_(new login::NetworkStateHelper),
       weak_factory_(this) {
diff --git a/chrome/browser/chromeos/login/lock/webui_screen_locker.h b/chrome/browser/chromeos/login/lock/webui_screen_locker.h
index c0d9411..2a49acd2 100644
--- a/chrome/browser/chromeos/login/lock/webui_screen_locker.h
+++ b/chrome/browser/chromeos/login/lock/webui_screen_locker.h
@@ -55,6 +55,10 @@
                           public display::DisplayObserver,
                           public content::WebContentsObserver {
  public:
+  // Returns true if the lock screen should be shared.
+  static bool ShouldShareLockScreen();
+  static void Preload();
+
   explicit WebUIScreenLocker(ScreenLocker* screen_locker);
   ~WebUIScreenLocker() override;
 
diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.cc b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
index 194efe6..e6030f84 100644
--- a/chrome/browser/chromeos/login/session/chrome_session_manager.cc
+++ b/chrome/browser/chromeos/login/session/chrome_session_manager.cc
@@ -17,6 +17,8 @@
 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
 #include "chrome/browser/chromeos/arc/arc_service_launcher.h"
 #include "chrome/browser/chromeos/boot_times_recorder.h"
+#include "chrome/browser/chromeos/idle_detector.h"
+#include "chrome/browser/chromeos/login/lock/webui_screen_locker.h"
 #include "chrome/browser/chromeos/login/login_wizard.h"
 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
 #include "chrome/browser/chromeos/login/wizard_controller.h"
@@ -44,6 +46,9 @@
 
 namespace {
 
+// Duration of user inactivity before preloading the lock screen.
+constexpr int kIdleSecondsBeforePreloadingLockScreen = 8;
+
 // Whether kiosk auto launch should be started.
 bool ShouldAutoLaunchKioskApp(const base::CommandLine& command_line) {
   KioskAppManager* app_manager = KioskAppManager::Get();
@@ -232,6 +237,13 @@
       content::Source<session_manager::SessionManager>(this),
       content::Details<const user_manager::User>(
           user_manager->GetActiveUser()));
+
+  if (chromeos::WebUIScreenLocker::ShouldShareLockScreen()) {
+    idle_detector_ = base::MakeUnique<chromeos::IdleDetector>(
+        base::Bind(&chromeos::WebUIScreenLocker::Preload));
+    idle_detector_->Start(
+        base::TimeDelta::FromSeconds(kIdleSecondsBeforePreloadingLockScreen));
+  }
 }
 
 void ChromeSessionManager::NotifyUserLoggedIn(const AccountId& user_account_id,
diff --git a/chrome/browser/chromeos/login/session/chrome_session_manager.h b/chrome/browser/chromeos/login/session/chrome_session_manager.h
index 7c51292..a997812 100644
--- a/chrome/browser/chromeos/login/session/chrome_session_manager.h
+++ b/chrome/browser/chromeos/login/session/chrome_session_manager.h
@@ -16,6 +16,8 @@
 
 namespace chromeos {
 
+class IdleDetector;
+
 class ChromeSessionManager : public session_manager::SessionManager {
  public:
   ChromeSessionManager();
@@ -38,6 +40,9 @@
                           bool browser_restart) override;
 
  private:
+  // Used to preload the lock screen when the user is inactive.
+  std::unique_ptr<IdleDetector> idle_detector_;
+
   DISALLOW_COPY_AND_ASSIGN(ChromeSessionManager);
 };
 
diff --git a/chrome/browser/content_settings/tab_specific_content_settings.h b/chrome/browser/content_settings/tab_specific_content_settings.h
index edbd1cb2..7d238b73 100644
--- a/chrome/browser/content_settings/tab_specific_content_settings.h
+++ b/chrome/browser/content_settings/tab_specific_content_settings.h
@@ -28,6 +28,10 @@
 
 class HostContentSettingsMap;
 
+namespace content {
+class NavigationHandle;
+}
+
 namespace net {
 class CookieOptions;
 }
diff --git a/chrome/browser/devtools/devtools_toggle_action.cc b/chrome/browser/devtools/devtools_toggle_action.cc
index 48b56337..20634c2 100644
--- a/chrome/browser/devtools/devtools_toggle_action.cc
+++ b/chrome/browser/devtools/devtools_toggle_action.cc
@@ -45,11 +45,6 @@
 }
 
 // static
-DevToolsToggleAction DevToolsToggleAction::ShowSecurityPanel() {
-  return DevToolsToggleAction(kShowSecurityPanel);
-}
-
-// static
 DevToolsToggleAction DevToolsToggleAction::Inspect() {
   return DevToolsToggleAction(kInspect);
 }
diff --git a/chrome/browser/devtools/devtools_toggle_action.h b/chrome/browser/devtools/devtools_toggle_action.h
index bda17074..50c31d8c 100644
--- a/chrome/browser/devtools/devtools_toggle_action.h
+++ b/chrome/browser/devtools/devtools_toggle_action.h
@@ -16,7 +16,6 @@
   enum Type {
     kShow,
     kShowConsole,
-    kShowSecurityPanel,
     kInspect,
     kToggle,
     kReveal,
@@ -40,7 +39,6 @@
 
   static DevToolsToggleAction Show();
   static DevToolsToggleAction ShowConsole();
-  static DevToolsToggleAction ShowSecurityPanel();
   static DevToolsToggleAction Inspect();
   static DevToolsToggleAction Toggle();
   static DevToolsToggleAction Reveal(const base::string16& url,
diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index 0b2824f2e..f94808b97 100644
--- a/chrome/browser/devtools/devtools_window.cc
+++ b/chrome/browser/devtools/devtools_window.cc
@@ -1304,12 +1304,6 @@
                                     NULL);
       break;
     }
-    case DevToolsToggleAction::kShowSecurityPanel: {
-      base::StringValue panel_name("security");
-      bindings_->CallClientFunction("DevToolsAPI.showPanel", &panel_name, NULL,
-                                    NULL);
-      break;
-    }
     case DevToolsToggleAction::kInspect:
       bindings_->CallClientFunction(
           "DevToolsAPI.enterInspectElementMode", NULL, NULL, NULL);
diff --git a/chrome/browser/extensions/updater/extension_updater.cc b/chrome/browser/extensions/updater/extension_updater.cc
index 16e57c6..07503e56 100644
--- a/chrome/browser/extensions/updater/extension_updater.cc
+++ b/chrome/browser/extensions/updater/extension_updater.cc
@@ -54,6 +54,10 @@
 // you change this value, make sure to update comments where it is used.
 const int kStartupWaitSeconds = 60;
 
+// The minimum number of seconds there should be for the delay passed to
+// ScheduleNextCheck.
+const int kScheduleNextCheckMinGapSecs = 1;
+
 // For sanity checking on update frequency - enforced in release mode only.
 #if defined(NDEBUG)
 const int kMinUpdateFrequencySeconds = 30;
@@ -178,15 +182,15 @@
     return TimeDelta::FromSeconds(
         RandInt(kStartupWaitSeconds, frequency_seconds_));
 
-  Time saved_next = Time::FromInternalValue(prefs_->GetInt64(
-      pref_names::kNextUpdateCheck));
-
-  Time now = Time::Now();
-
   // Read the persisted next check time, and use that if it isn't in the past
   // or too far in the future (this can happen with system clock changes).
-  if (saved_next > now &&
-      saved_next < now + TimeDelta::FromSeconds(frequency_seconds_)) {
+  Time saved_next = Time::FromInternalValue(prefs_->GetInt64(
+      pref_names::kNextUpdateCheck));
+  Time now = Time::Now();
+  base::Time earliest =
+      now + TimeDelta::FromSeconds(kScheduleNextCheckMinGapSecs);
+  base::Time latest = now + TimeDelta::FromSeconds(frequency_seconds_);
+  if (saved_next > earliest && saved_next < latest) {
     return saved_next - now;
   }
 
@@ -225,7 +229,7 @@
 void ExtensionUpdater::ScheduleNextCheck(const TimeDelta& target_delay) {
   DCHECK(alive_);
   DCHECK(!timer_.IsRunning());
-  DCHECK(target_delay >= TimeDelta::FromSeconds(1));
+  DCHECK(target_delay >= TimeDelta::FromSeconds(kScheduleNextCheckMinGapSecs));
 
   // Add +/- 10% random jitter.
   double delay_ms = target_delay.InMillisecondsF();
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index 09858072..205f05a 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -57,10 +57,12 @@
 #include "extensions/browser/extension_prefs.h"
 #include "extensions/browser/extension_registry.h"
 #include "extensions/browser/extension_system.h"
+#include "extensions/browser/pref_names.h"
 #include "extensions/browser/updater/extension_downloader.h"
 #include "extensions/browser/updater/extension_downloader_delegate.h"
 #include "extensions/browser/updater/manifest_fetch_data.h"
 #include "extensions/browser/updater/request_queue_impl.h"
+#include "extensions/common/constants.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/extension_urls.h"
 #include "extensions/common/manifest_constants.h"
@@ -2259,6 +2261,22 @@
   ASSERT_FALSE(service.GetExtensionById(id, false));
 }
 
+// Tests that we don't get a DCHECK failure when the next check time saved in
+// prefs happens to be within one second of startup.
+TEST_F(ExtensionUpdaterTest, TestPersistedNextCheckTime) {
+  base::Time next_check_time =
+      base::Time::Now() + base::TimeDelta::FromMilliseconds(500);
+  prefs_->pref_service()->SetInt64(pref_names::kNextUpdateCheck,
+                                   next_check_time.ToInternalValue());
+  ServiceForManifestTests service(prefs_.get());
+  ExtensionUpdater updater(&service, service.extension_prefs(),
+                           service.pref_service(), service.profile(),
+                           kDefaultUpdateFrequencySeconds, nullptr,
+                           service.GetDownloaderFactory());
+  updater.Start();
+  updater.Stop();
+}
+
 // TODO(asargent) - (http://crbug.com/12780) add tests for:
 // -prodversionmin (shouldn't update if browser version too old)
 // -manifests & updates arriving out of order / interleaved
diff --git a/chrome/browser/payments/payment_request_impl.cc b/chrome/browser/payments/payment_request_impl.cc
index 18ce94c9..743ab19 100644
--- a/chrome/browser/payments/payment_request_impl.cc
+++ b/chrome/browser/payments/payment_request_impl.cc
@@ -62,6 +62,9 @@
     payments::mojom::PaymentOptionsPtr options) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
   client_ = std::move(client);
+}
+
+void PaymentRequestImpl::Show() {
   chrome::ShowPaymentRequestDialog(this);
 }
 
diff --git a/chrome/browser/payments/payment_request_impl.h b/chrome/browser/payments/payment_request_impl.h
index 39ee68f..fe3b6e7 100644
--- a/chrome/browser/payments/payment_request_impl.h
+++ b/chrome/browser/payments/payment_request_impl.h
@@ -26,7 +26,7 @@
             std::vector<payments::mojom::PaymentMethodDataPtr> methodData,
             payments::mojom::PaymentDetailsPtr details,
             payments::mojom::PaymentOptionsPtr options) override;
-  void Show() override {}
+  void Show() override;
   void UpdateWith(payments::mojom::PaymentDetailsPtr details) override {}
   void Abort() override {}
   void Complete(payments::mojom::PaymentComplete result) override {}
diff --git a/chrome/browser/payments/site_per_process_payments_browsertest.cc b/chrome/browser/payments/site_per_process_payments_browsertest.cc
new file mode 100644
index 0000000..4007ee09
--- /dev/null
+++ b/chrome/browser/payments/site_per_process_payments_browsertest.cc
@@ -0,0 +1,73 @@
+// 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 "base/command_line.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/browser_tabstrip.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/test/base/in_process_browser_test.h"
+#include "chrome/test/base/ui_test_utils.h"
+#include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/render_view_host.h"
+#include "content/public/browser/render_widget_host_view.h"
+#include "content/public/browser/web_contents.h"
+#include "content/public/common/content_switches.h"
+#include "content/public/test/browser_test_utils.h"
+#include "content/public/test/test_utils.h"
+#include "net/dns/mock_host_resolver.h"
+#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "url/gurl.h"
+#include "url/url_constants.h"
+
+namespace payments {
+
+class SitePerProcessPaymentsBrowserTest : public InProcessBrowserTest {
+ public:
+  SitePerProcessPaymentsBrowserTest() {}
+  ~SitePerProcessPaymentsBrowserTest() override {}
+
+  void SetUpCommandLine(base::CommandLine* command_line) override {
+    InProcessBrowserTest::SetUpCommandLine(command_line);
+    // HTTPS server only serves a valid cert for localhost, so this is needed
+    // to load pages from other hosts without an error.
+    command_line->AppendSwitch(switches::kIgnoreCertificateErrors);
+    command_line->AppendSwitch("enable-experimental-web-platform-features");
+    // Append --site-per-process flag.
+    content::IsolateAllSitesForTesting(command_line);
+  }
+
+  void SetUpOnMainThread() override {
+    https_server_.reset(
+        new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS));
+    host_resolver()->AddRule("*", "127.0.0.1");
+    ASSERT_TRUE(https_server_->InitializeAndListen());
+    content::SetupCrossSiteRedirector(https_server_.get());
+    https_server_->ServeFilesFromSourceDirectory("chrome/test/data");
+    https_server_->StartAcceptingConnections();
+  }
+
+  std::unique_ptr<net::EmbeddedTestServer> https_server_;
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(SitePerProcessPaymentsBrowserTest);
+};
+
+IN_PROC_BROWSER_TEST_F(SitePerProcessPaymentsBrowserTest,
+                       IframePaymentRequestDoesNotCrash) {
+  GURL url = https_server_->GetURL("a.com", "/payment_request_main.html");
+  ui_test_utils::NavigateToURL(browser(), url);
+
+  content::WebContents* tab =
+      browser()->tab_strip_model()->GetActiveWebContents();
+  GURL iframe_url =
+      https_server_->GetURL("b.com", "/payment_request_iframe.html");
+  EXPECT_TRUE(content::NavigateIframeToURL(tab, "test", iframe_url));
+
+  EXPECT_TRUE(tab->GetRenderWidgetHostView()->IsShowing());
+  content::RenderFrameHost* frame = ChildFrameAt(tab->GetMainFrame(), 0);
+  EXPECT_TRUE(frame);
+  EXPECT_NE(frame->GetSiteInstance(), tab->GetMainFrame()->GetSiteInstance());
+}
+
+}  // namespace payments
diff --git a/chrome/browser/resources/md_history/history.html b/chrome/browser/resources/md_history/history.html
index 604407d6b..12502ad5 100644
--- a/chrome/browser/resources/md_history/history.html
+++ b/chrome/browser/resources/md_history/history.html
@@ -16,6 +16,7 @@
 
     body {
       background: var(--md-background-color);
+      cursor: default;
     }
 
     /* Minimal styling required to display app shim. */
diff --git a/chrome/browser/resources/settings/people_page/sync_page.html b/chrome/browser/resources/settings/people_page/sync_page.html
index 86ee4176..a55fdd3 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.html
+++ b/chrome/browser/resources/settings/people_page/sync_page.html
@@ -228,7 +228,8 @@
           <div class="list-item">
             <span>
               [[enterPassphrasePrompt_(syncPrefs.passphraseTypeIsCustom)]]
-              <a href="$i18nRaw{syncErrorHelpUrl}" target="_blank">
+              <a href="$i18nRaw{syncErrorHelpUrl}" target="_blank"
+                  on-tap="onSyncLearnMoreTap_">
                 $i18n{learnMore}
               </a>
             </span>
diff --git a/chrome/browser/resources/settings/people_page/sync_page.js b/chrome/browser/resources/settings/people_page/sync_page.js
index c80178c..6998550 100644
--- a/chrome/browser/resources/settings/people_page/sync_page.js
+++ b/chrome/browser/resources/settings/people_page/sync_page.js
@@ -292,6 +292,14 @@
   },
 
   /**
+   * @param {!Event} e
+   * @private
+   */
+  onSyncLearnMoreTap_: function(e) {
+    e.stopPropagation();
+  },
+
+  /**
    * Sends the newly created custom sync passphrase to the browser.
    * @private
    */
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 3c6c446..092c2f2 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -194,6 +194,13 @@
 const base::Feature kSafeSearchUrlReporting{"SafeSearchUrlReporting",
                                             base::FEATURE_DISABLED_BY_DEFAULT};
 
+#if defined(OS_CHROMEOS)
+// The lock screen will be preloaded and shared so it is instantly available
+// when the user locks the Chromebook device.
+const base::Feature kSharedLockScreen{"SharedLockScreen",
+                                      base::FEATURE_DISABLED_BY_DEFAULT};
+#endif
+
 // A new user experience for transitioning into fullscreen and mouse pointer
 // lock states.
 const base::Feature kSimplifiedFullscreenUI{"ViewsSimplifiedFullscreenUI",
diff --git a/chrome/common/chrome_features.h b/chrome/common/chrome_features.h
index 1a983d3..eb65e67 100644
--- a/chrome/common/chrome_features.h
+++ b/chrome/common/chrome_features.h
@@ -115,6 +115,10 @@
 
 extern const base::Feature kSafeSearchUrlReporting;
 
+#if defined(OS_CHROMEOS)
+extern const base::Feature kSharedLockScreen;
+#endif
+
 extern const base::Feature kSimplifiedFullscreenUI;
 
 #if defined(SYZYASAN)
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index c706bed..342c98c 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -252,7 +252,7 @@
                     base::string16 /* identity */,
                     bool /* identity_match */)
 
-// Sent in response to FrameHostMsg_DidBlockRunningInsecureContent.
+// Sent to allow or forbid the running of insecure mixed-content.
 IPC_MESSAGE_ROUTED1(ChromeViewMsg_SetAllowRunningInsecureContent,
                     bool /* allowed */)
 
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index ba93142..068d9351 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1625,6 +1625,7 @@
       "../browser/page_load_metrics/page_load_metrics_browsertest.cc",
       "../browser/password_manager/credential_manager_browsertest.cc",
       "../browser/password_manager/password_manager_browsertest.cc",
+      "../browser/payments/site_per_process_payments_browsertest.cc",
       "../browser/pdf/pdf_extension_test.cc",
       "../browser/pdf/pdf_extension_test_util.cc",
       "../browser/pdf/pdf_extension_test_util.h",
diff --git a/chrome/test/data/payment_request_iframe.html b/chrome/test/data/payment_request_iframe.html
new file mode 100644
index 0000000..ee9ec95
--- /dev/null
+++ b/chrome/test/data/payment_request_iframe.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<script>
+new PaymentRequest(
+    [{supportedMethods: ["foo"]}],
+    {total: {label: "Tots", amount: {currency: "USD", value: "1.00"}}});
+</script>
diff --git a/chrome/test/data/payment_request_main.html b/chrome/test/data/payment_request_main.html
new file mode 100644
index 0000000..b286b6f
--- /dev/null
+++ b/chrome/test/data/payment_request_main.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html>
+<iframe id="test" allowpaymentrequest></iframe>
diff --git a/components/arc/BUILD.gn b/components/arc/BUILD.gn
index e310a67..96e1c23 100644
--- a/components/arc/BUILD.gn
+++ b/components/arc/BUILD.gn
@@ -121,20 +121,6 @@
   ]
 }
 
-# TODO(crbug.com/662510): Remove this altogether.
-mojom("arc_bindings_old_types") {
-  sources = [
-    "common/net.mojom",
-  ]
-
-  public_deps = [
-    "//mojo/common:common_custom_types",
-    "//ui/gfx/geometry/mojo",
-  ]
-
-  use_new_wrapper_types = false
-}
-
 mojom("arc_bindings") {
   sources = [
     "common/app.mojom",
@@ -152,6 +138,7 @@
     "common/intent_helper.mojom",
     "common/kiosk.mojom",
     "common/metrics.mojom",
+    "common/net.mojom",
     "common/notifications.mojom",
     "common/obb_mounter.mojom",
     "common/policy.mojom",
@@ -168,8 +155,8 @@
   ]
 
   public_deps = [
-    ":arc_bindings_old_types",
     "//mojo/common:common_custom_types",
+    "//ui/gfx/geometry/mojo",
   ]
 }
 
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc
index fd92b9d..6a7bcfa 100644
--- a/components/arc/arc_service_manager.cc
+++ b/components/arc/arc_service_manager.cc
@@ -6,11 +6,13 @@
 
 #include <utility>
 
+#include "base/logging.h"
 #include "base/memory/ptr_util.h"
 #include "base/sequenced_task_runner.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "components/arc/arc_bridge_service.h"
 #include "components/arc/arc_bridge_service_impl.h"
+#include "components/arc/intent_helper/arc_intent_helper_observer.h"
 
 namespace arc {
 
@@ -24,9 +26,33 @@
 
 }  // namespace
 
+class ArcServiceManager::IntentHelperObserverImpl
+    : public ArcIntentHelperObserver {
+ public:
+  explicit IntentHelperObserverImpl(ArcServiceManager* manager);
+  ~IntentHelperObserverImpl() override = default;
+
+ private:
+  void OnAppsUpdated() override;
+  ArcServiceManager* const manager_;
+
+  DISALLOW_COPY_AND_ASSIGN(IntentHelperObserverImpl);
+};
+
+ArcServiceManager::IntentHelperObserverImpl::IntentHelperObserverImpl(
+    ArcServiceManager* manager)
+    : manager_(manager) {}
+
+void ArcServiceManager::IntentHelperObserverImpl::OnAppsUpdated() {
+  DCHECK(manager_->thread_checker_.CalledOnValidThread());
+  for (auto& observer : manager_->observer_list_)
+    observer.OnAppsUpdated();
+}
+
 ArcServiceManager::ArcServiceManager(
     scoped_refptr<base::TaskRunner> blocking_task_runner)
     : blocking_task_runner_(blocking_task_runner),
+      intent_helper_observer_(base::MakeUnique<IntentHelperObserverImpl>(this)),
       icon_loader_(new ActivityIconLoader()),
       activity_resolver_(new LocalActivityResolver()) {
   DCHECK(!g_arc_service_manager);
@@ -85,12 +111,6 @@
   observer_list_.RemoveObserver(observer);
 }
 
-void ArcServiceManager::OnAppsUpdated() {
-  DCHECK(thread_checker_.CalledOnValidThread());
-  for (auto& observer : observer_list_)
-    observer.OnAppsUpdated();
-}
-
 void ArcServiceManager::Shutdown() {
   DCHECK(thread_checker_.CalledOnValidThread());
   icon_loader_ = nullptr;
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h
index dac67e9..07cb10e 100644
--- a/components/arc/arc_service_manager.h
+++ b/components/arc/arc_service_manager.h
@@ -14,17 +14,17 @@
 #include "base/task_runner.h"
 #include "base/threading/thread_checker.h"
 #include "components/arc/intent_helper/activity_icon_loader.h"
-#include "components/arc/intent_helper/arc_intent_helper_observer.h"
 #include "components/arc/intent_helper/local_activity_resolver.h"
 
 namespace arc {
 
 class ArcBridgeService;
+class ArcIntentHelperObserver;
 class ArcService;
 
 // Manages creation and destruction of services that communicate with the ARC
 // instance via the ArcBridgeService.
-class ArcServiceManager : public arc::ArcIntentHelperObserver {
+class ArcServiceManager {
  public:
   class Observer {
    public:
@@ -37,7 +37,7 @@
 
   explicit ArcServiceManager(
       scoped_refptr<base::TaskRunner> blocking_task_runner);
-  ~ArcServiceManager() override;
+  ~ArcServiceManager();
 
   // |arc_bridge_service| can only be accessed on the thread that this
   // class was created on.
@@ -56,9 +56,6 @@
   void AddObserver(Observer* observer);
   void RemoveObserver(Observer* observer);
 
-  // arc::ArcIntentHelperObserver overrides.
-  void OnAppsUpdated() override;
-
   // Called to shut down all ARC services.
   void Shutdown();
 
@@ -79,10 +76,20 @@
     return activity_resolver_;
   }
 
+  // Returns the IntentHelperObserver instance owned by ArcServiceManager.
+  ArcIntentHelperObserver* intent_helper_observer() {
+    return intent_helper_observer_.get();
+  }
+
  private:
+  class IntentHelperObserverImpl;  // implemented in arc_service_manager.cc.
+
   base::ThreadChecker thread_checker_;
   scoped_refptr<base::TaskRunner> blocking_task_runner_;
 
+  // An object for observing the ArcIntentHelper instance in |services_|.
+  std::unique_ptr<ArcIntentHelperObserver> intent_helper_observer_;
+
   std::unique_ptr<ArcBridgeService> arc_bridge_service_;
   std::vector<std::unique_ptr<ArcService>> services_;
   scoped_refptr<ActivityIconLoader> icon_loader_;
diff --git a/components/arc/ime/arc_ime_service.cc b/components/arc/ime/arc_ime_service.cc
index 71783c3..7d49a17 100644
--- a/components/arc/ime/arc_ime_service.cc
+++ b/components/arc/ime/arc_ime_service.cc
@@ -84,10 +84,11 @@
 }
 
 ui::InputMethod* ArcImeService::GetInputMethod() {
-  if (test_input_method_)
-    return test_input_method_;
   if (focused_arc_window_.windows().empty())
     return nullptr;
+
+  if (test_input_method_)
+    return test_input_method_;
   return focused_arc_window_.windows().front()->GetHost()->GetInputMethod();
 }
 
@@ -114,7 +115,7 @@
 // Overridden from exo::WMHelper::FocusChangeObserver:
 
 void ArcImeService::OnWindowFocused(aura::Window* gained_focus,
-                                   aura::Window* lost_focus) {
+                                    aura::Window* lost_focus) {
   // The Aura focus may or may not be on sub-window of the toplevel ARC++ frame.
   // To handle all cases, judge the state by always climbing up to the toplevel.
   gained_focus = gained_focus ? gained_focus->GetToplevelWindow() : nullptr;
@@ -125,20 +126,31 @@
   const bool detach = (lost_focus && focused_arc_window_.Contains(lost_focus));
   const bool attach =
       (gained_focus && arc_window_detector_->IsArcTopLevelWindow(gained_focus));
+
+  // TODO(kinaba): Implicit dependency in GetInputMethod as described below is
+  // confusing. Consider getting InputMethod directly from lost_ or gained_focus
+  // variables. For that, we need to change how to inject testing InputMethod.
+  //
+  // GetInputMethod() retrieves the input method associated to
+  // |forcused_arc_window_|. Hence, to get the object we are detaching from, we
+  // must call the method before updating the forcused ARC window.
+  ui::InputMethod* const detaching_ime = detach ? GetInputMethod() : nullptr;
+
   if (detach)
     focused_arc_window_.Remove(lost_focus);
   if (attach)
     focused_arc_window_.Add(gained_focus);
 
+  ui::InputMethod* const attaching_ime = attach ? GetInputMethod() : nullptr;
+
   // Notify to the input method, either when this service is detached or
   // attached. Do nothing when the focus is moving between ARC windows,
   // to avoid unpexpected context reset in ARC.
-  ui::InputMethod* const input_method = GetInputMethod();
-  if (input_method) {
-    if (detach && !attach)
-      input_method->DetachTextInputClient(this);
-    if (!detach && attach)
-      input_method->SetFocusedTextInputClient(this);
+  if (detaching_ime != attaching_ime) {
+    if (detaching_ime)
+      detaching_ime->DetachTextInputClient(this);
+    if (attaching_ime)
+      attaching_ime->SetFocusedTextInputClient(this);
   }
 }
 
diff --git a/components/arc/ime/arc_ime_service_unittest.cc b/components/arc/ime/arc_ime_service_unittest.cc
index d5aac380..658dab1 100644
--- a/components/arc/ime/arc_ime_service_unittest.cc
+++ b/components/arc/ime/arc_ime_service_unittest.cc
@@ -138,6 +138,9 @@
   std::unique_ptr<ArcImeService> instance_;
   FakeArcImeBridge* fake_arc_ime_bridge_;  // Owned by |instance_|
 
+  FakeArcWindowDetector* fake_window_detector_; // Owned by |instance_|
+  std::unique_ptr<aura::Window> arc_win_;
+
  private:
   void SetUp() override {
     arc_bridge_service_ = base::MakeUnique<ArcBridgeService>();
@@ -147,9 +150,16 @@
 
     fake_input_method_ = base::MakeUnique<FakeInputMethod>();
     instance_->SetInputMethodForTesting(fake_input_method_.get());
+
+    fake_window_detector_ = new FakeArcWindowDetector();
+    instance_->SetArcWindowDetectorForTesting(
+        base::WrapUnique(fake_window_detector_));
+    arc_win_ = fake_window_detector_->CreateFakeArcTopLevelWindow();
   }
 
   void TearDown() override {
+    arc_win_.reset();
+    fake_window_detector_ = nullptr;
     fake_arc_ime_bridge_ = nullptr;
     instance_.reset();
     arc_bridge_service_.reset();
@@ -157,6 +167,8 @@
 };
 
 TEST_F(ArcImeServiceTest, HasCompositionText) {
+  instance_->OnWindowFocused(arc_win_.get(), nullptr);
+
   ui::CompositionText composition;
   composition.text = base::UTF8ToUTF16("nonempty text");
 
@@ -184,7 +196,8 @@
 }
 
 TEST_F(ArcImeServiceTest, ShowImeIfNeeded) {
-  fake_input_method_->SetFocusedTextInputClient(instance_.get());
+  instance_->OnWindowFocused(arc_win_.get(), nullptr);
+
   instance_->OnTextInputTypeChanged(ui::TEXT_INPUT_TYPE_NONE);
   ASSERT_EQ(0, fake_input_method_->count_show_ime_if_needed());
 
@@ -197,14 +210,15 @@
 }
 
 TEST_F(ArcImeServiceTest, CancelComposition) {
+  instance_->OnWindowFocused(arc_win_.get(), nullptr);
+
   // The bridge should forward the cancel event to the input method.
-  fake_input_method_->SetFocusedTextInputClient(instance_.get());
   instance_->OnCancelComposition();
   EXPECT_EQ(1, fake_input_method_->count_cancel_composition());
 }
 
 TEST_F(ArcImeServiceTest, InsertChar) {
-  fake_input_method_->SetFocusedTextInputClient(instance_.get());
+  instance_->OnWindowFocused(arc_win_.get(), nullptr);
 
   // When text input type is NONE, the event is not forwarded.
   instance_->OnTextInputTypeChanged(ui::TEXT_INPUT_TYPE_NONE);
@@ -218,22 +232,18 @@
 }
 
 TEST_F(ArcImeServiceTest, WindowFocusTracking) {
-  auto window_detector = base::MakeUnique<FakeArcWindowDetector>();
-  std::unique_ptr<aura::Window> arc_win1 =
-      window_detector->CreateFakeArcTopLevelWindow();
   std::unique_ptr<aura::Window> arc_win2 =
-      window_detector->CreateFakeArcTopLevelWindow();
+      fake_window_detector_->CreateFakeArcTopLevelWindow();
   std::unique_ptr<aura::Window> nonarc_win =
-      window_detector->CreateFakeNonArcTopLevelWindow();
-  instance_->SetArcWindowDetectorForTesting(std::move(window_detector));
+      fake_window_detector_->CreateFakeNonArcTopLevelWindow();
 
   // ARC window is focused. ArcImeService is set as the text input client.
-  instance_->OnWindowFocused(arc_win1.get(), nullptr);
+  instance_->OnWindowFocused(arc_win_.get(), nullptr);
   EXPECT_EQ(instance_.get(), fake_input_method_->GetTextInputClient());
   EXPECT_EQ(1, fake_input_method_->count_set_focused_text_input_client());
 
   // Focus is moving between ARC windows. No state change should happen.
-  instance_->OnWindowFocused(arc_win2.get(), arc_win1.get());
+  instance_->OnWindowFocused(arc_win2.get(), arc_win_.get());
   EXPECT_EQ(instance_.get(), fake_input_method_->GetTextInputClient());
   EXPECT_EQ(1, fake_input_method_->count_set_focused_text_input_client());
 
@@ -243,12 +253,12 @@
   EXPECT_EQ(1, fake_input_method_->count_set_focused_text_input_client());
 
   // Focus came back to an ARC window. ArcImeService is re-attached.
-  instance_->OnWindowFocused(arc_win1.get(), nonarc_win.get());
+  instance_->OnWindowFocused(arc_win_.get(), nonarc_win.get());
   EXPECT_EQ(instance_.get(), fake_input_method_->GetTextInputClient());
   EXPECT_EQ(2, fake_input_method_->count_set_focused_text_input_client());
 
   // Focus is moving out.
-  instance_->OnWindowFocused(nullptr, arc_win1.get());
+  instance_->OnWindowFocused(nullptr, arc_win_.get());
   EXPECT_EQ(nullptr, fake_input_method_->GetTextInputClient());
   EXPECT_EQ(2, fake_input_method_->count_set_focused_text_input_client());
 }
diff --git a/components/arc/intent_helper/arc_intent_helper_observer.h b/components/arc/intent_helper/arc_intent_helper_observer.h
index d8cc87e..b0352fe4 100644
--- a/components/arc/intent_helper/arc_intent_helper_observer.h
+++ b/components/arc/intent_helper/arc_intent_helper_observer.h
@@ -11,8 +11,6 @@
  public:
   // Called when app's intent filter is updated.
   virtual void OnAppsUpdated() = 0;
-
- protected:
   virtual ~ArcIntentHelperObserver() = default;
 };
 
diff --git a/components/arc/net/arc_net_host_impl.cc b/components/arc/net/arc_net_host_impl.cc
index 938a824..d2612dac 100644
--- a/components/arc/net/arc_net_host_impl.cc
+++ b/components/arc/net/arc_net_host_impl.cc
@@ -100,23 +100,22 @@
   return wifi;
 }
 
-mojo::Array<mojo::String> TranslateStringArray(const base::ListValue* list) {
-  mojo::Array<mojo::String> strings = mojo::Array<mojo::String>::New(0);
+std::vector<std::string> TranslateStringArray(const base::ListValue* list) {
+  std::vector<std::string> strings;
 
   for (size_t i = 0; i < list->GetSize(); i++) {
     std::string value;
     list->GetString(i, &value);
     DCHECK(!value.empty());
-    strings.push_back(static_cast<mojo::String>(value));
+    strings.push_back(value);
   }
 
   return strings;
 }
 
-mojo::Array<arc::mojom::IPConfigurationPtr> TranslateONCIPConfigs(
+std::vector<arc::mojom::IPConfigurationPtr> TranslateONCIPConfigs(
     const base::ListValue* list) {
-  mojo::Array<arc::mojom::IPConfigurationPtr> configs =
-      mojo::Array<arc::mojom::IPConfigurationPtr>::New(0);
+  std::vector<arc::mojom::IPConfigurationPtr> configs;
 
   for (size_t i = 0; i < list->GetSize(); i++) {
     const base::DictionaryValue* ip_dict = nullptr;
@@ -370,8 +369,7 @@
   // Even if there's no WiFi, an empty (size=0) list must be returned and not a
   // null one. The explicitly sized New() constructor ensures the non-null
   // property.
-  mojo::Array<mojom::WifiConfigurationPtr> networks =
-      mojo::Array<mojom::WifiConfigurationPtr>::New(0);
+  std::vector<mojom::WifiConfigurationPtr> networks;
   for (const auto& value : *network_properties_list) {
     mojom::WifiConfigurationPtr wc = mojom::WifiConfiguration::New();
 
@@ -454,7 +452,7 @@
   std::unique_ptr<base::DictionaryValue> properties(new base::DictionaryValue);
   std::unique_ptr<base::DictionaryValue> wifi_dict(new base::DictionaryValue);
 
-  if (cfg->hexssid.is_null() || !cfg->details) {
+  if (!cfg->hexssid.has_value() || !cfg->details) {
     callback.Run("");
     return;
   }
@@ -468,18 +466,18 @@
   properties->SetStringWithoutPathExpansion(onc::network_config::kType,
                                             onc::network_config::kWiFi);
   wifi_dict->SetStringWithoutPathExpansion(onc::wifi::kHexSSID,
-                                           cfg->hexssid.get());
+                                           cfg->hexssid.value());
   wifi_dict->SetBooleanWithoutPathExpansion(onc::wifi::kAutoConnect,
                                             details->autoconnect);
-  if (cfg->security.get().empty()) {
+  if (cfg->security.empty()) {
     wifi_dict->SetStringWithoutPathExpansion(onc::wifi::kSecurity,
                                              onc::wifi::kSecurityNone);
   } else {
     wifi_dict->SetStringWithoutPathExpansion(onc::wifi::kSecurity,
-                                             cfg->security.get());
-    if (!details->passphrase.is_null()) {
+                                             cfg->security);
+    if (details->passphrase.has_value()) {
       wifi_dict->SetStringWithoutPathExpansion(onc::wifi::kPassphrase,
-                                               details->passphrase.get());
+                                               details->passphrase.value());
     }
   }
   properties->SetWithoutPathExpansion(onc::network_config::kWiFi,
@@ -511,7 +509,7 @@
   }
 }
 
-void ArcNetHostImpl::ForgetNetwork(const mojo::String& guid,
+void ArcNetHostImpl::ForgetNetwork(const std::string& guid,
                                    const ForgetNetworkCallback& callback) {
   if (!IsDeviceOwner()) {
     callback.Run(mojom::NetworkResult::FAILURE);
@@ -530,7 +528,7 @@
       base::Bind(&ForgetNetworkFailureCallback, callback));
 }
 
-void ArcNetHostImpl::StartConnect(const mojo::String& guid,
+void ArcNetHostImpl::StartConnect(const std::string& guid,
                                   const StartConnectCallback& callback) {
   std::string path;
   if (!GetNetworkPathFromGuid(guid, &path)) {
@@ -543,7 +541,7 @@
       base::Bind(&StartConnectFailureCallback, callback), false);
 }
 
-void ArcNetHostImpl::StartDisconnect(const mojo::String& guid,
+void ArcNetHostImpl::StartDisconnect(const std::string& guid,
                                      const StartDisconnectCallback& callback) {
   std::string path;
   if (!GetNetworkPathFromGuid(guid, &path)) {
diff --git a/components/arc/net/arc_net_host_impl.h b/components/arc/net/arc_net_host_impl.h
index c0114a9..3c56bbf7 100644
--- a/components/arc/net/arc_net_host_impl.h
+++ b/components/arc/net/arc_net_host_impl.h
@@ -62,13 +62,13 @@
   void CreateNetwork(mojom::WifiConfigurationPtr cfg,
                      const CreateNetworkCallback& callback) override;
 
-  void ForgetNetwork(const mojo::String& guid,
+  void ForgetNetwork(const std::string& guid,
                      const ForgetNetworkCallback& callback) override;
 
-  void StartConnect(const mojo::String& guid,
+  void StartConnect(const std::string& guid,
                     const StartConnectCallback& callback) override;
 
-  void StartDisconnect(const mojo::String& guid,
+  void StartDisconnect(const std::string& guid,
                        const StartDisconnectCallback& callback) override;
 
   // Overriden from chromeos::NetworkStateHandlerObserver.
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
index dc60892..2b6952c 100644
--- a/content/browser/frame_host/render_frame_host_impl.h
+++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -1090,6 +1090,7 @@
 
   std::unique_ptr<AssociatedInterfaceProviderImpl>
       remote_associated_interfaces_;
+
   // NOTE: This must be the last member.
   base::WeakPtrFactory<RenderFrameHostImpl> weak_ptr_factory_;
 
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index c3646ba..c295c25b 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -466,8 +466,6 @@
       ui::GetPrimaryHoverType(prefs.available_hover_types);
 
 #if defined(OS_ANDROID)
-  prefs.device_supports_mouse = false;
-
   prefs.video_fullscreen_orientation_lock_enabled =
       base::FeatureList::IsEnabled(media::kVideoFullscreenOrientationLock) &&
       ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_PHONE;
diff --git a/content/common/frame_messages.h b/content/common/frame_messages.h
index 39326bd..c89cdd2 100644
--- a/content/common/frame_messages.h
+++ b/content/common/frame_messages.h
@@ -171,6 +171,7 @@
   IPC_STRUCT_TRAITS_MEMBER(margin_width)
   IPC_STRUCT_TRAITS_MEMBER(margin_height)
   IPC_STRUCT_TRAITS_MEMBER(allow_fullscreen)
+  IPC_STRUCT_TRAITS_MEMBER(allow_payment_request)
   IPC_STRUCT_TRAITS_MEMBER(required_csp)
   IPC_STRUCT_TRAITS_MEMBER(delegated_permissions)
 IPC_STRUCT_TRAITS_END()
diff --git a/content/common/frame_owner_properties.cc b/content/common/frame_owner_properties.cc
index e84de42..f3de3f0 100644
--- a/content/common/frame_owner_properties.cc
+++ b/content/common/frame_owner_properties.cc
@@ -10,7 +10,8 @@
     : scrolling_mode(blink::WebFrameOwnerProperties::ScrollingMode::Auto),
       margin_width(-1),
       margin_height(-1),
-      allow_fullscreen(false) {}
+      allow_fullscreen(false),
+      allow_payment_request(false) {}
 
 FrameOwnerProperties::FrameOwnerProperties(const FrameOwnerProperties& other) =
     default;
@@ -21,6 +22,7 @@
       margin_width(web_frame_owner_properties.marginWidth),
       margin_height(web_frame_owner_properties.marginHeight),
       allow_fullscreen(web_frame_owner_properties.allowFullscreen),
+      allow_payment_request(web_frame_owner_properties.allowPaymentRequest),
       required_csp(web_frame_owner_properties.requiredCsp.utf8()),
       delegated_permissions(
           web_frame_owner_properties.delegatedPermissions.begin(),
@@ -36,6 +38,7 @@
   result.marginWidth = margin_width;
   result.marginHeight = margin_height;
   result.allowFullscreen = allow_fullscreen;
+  result.allowPaymentRequest = allow_payment_request;
   result.requiredCsp = blink::WebString::fromUTF8(required_csp);
   result.delegatedPermissions =
       blink::WebVector<blink::WebPermissionType>(delegated_permissions);
@@ -48,6 +51,7 @@
          margin_width == other.margin_width &&
          margin_height == other.margin_height &&
          allow_fullscreen == other.allow_fullscreen &&
+         allow_payment_request == other.allow_payment_request &&
          required_csp == other.required_csp &&
          std::equal(delegated_permissions.begin(), delegated_permissions.end(),
                     other.delegated_permissions.begin());
diff --git a/content/common/frame_owner_properties.h b/content/common/frame_owner_properties.h
index 157c823..2ead279 100644
--- a/content/common/frame_owner_properties.h
+++ b/content/common/frame_owner_properties.h
@@ -34,6 +34,7 @@
   int margin_width;
   int margin_height;
   bool allow_fullscreen;
+  bool allow_payment_request;
 
   // An experimental attribute to be used by a parent frame to enforce CSP on a
   // subframe. This is different from replicated CSP headers kept in
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
index 27129e9a..87d4533 100644
--- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
+++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
@@ -293,8 +293,6 @@
     private SelectPopup mSelectPopup;
     private long mNativeSelectPopupSourceFrame;
 
-    private Runnable mFakeMouseMoveRunnable = null;
-
     // Only valid when focused on a text / password field.
     private ImeAdapter mImeAdapter;
 
@@ -989,7 +987,6 @@
 
         MotionEvent offsetEvent = createOffsetMotionEvent(event);
         try {
-            mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
             if (mNativeContentViewCore == 0) return false;
 
             int eventAction = event.getActionMasked();
@@ -1138,7 +1135,6 @@
     @CalledByNative
     private void onScrollBeginEventAck() {
         setTouchScrollInProgress(true);
-        hidePastePopup();
         updateGestureStateListener(GestureEventType.SCROLL_START);
     }
 
@@ -1149,6 +1145,7 @@
                 mGestureStateListenersIterator.hasNext();) {
             mGestureStateListenersIterator.next().onScrollUpdateGestureConsumed();
         }
+        hidePastePopup();
     }
 
     @SuppressWarnings("unused")
@@ -1578,7 +1575,6 @@
                 if (!mEnableTouchHover.booleanValue()) return false;
             }
 
-            mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
             if (mNativeContentViewCore != 0) {
                 nativeSendMouseEvent(mNativeContentViewCore, event.getEventTime(), eventAction,
                         offset.getX(), offset.getY(), event.getPointerId(0), event.getPressure(0),
@@ -1608,20 +1604,6 @@
                             event.getAxisValue(MotionEvent.AXIS_HSCROLL),
                             event.getAxisValue(MotionEvent.AXIS_VSCROLL),
                             mRenderCoordinates.getWheelScrollFactor());
-
-                    // TODO(mustaq): Delete mFakeMouseMoveRunnable, see crbug.com/492738
-                    mContainerView.removeCallbacks(mFakeMouseMoveRunnable);
-                    // Send a delayed onMouseMove event so that we end
-                    // up hovering over the right position after the scroll.
-                    final MotionEvent eventFakeMouseMove = MotionEvent.obtain(event);
-                    mFakeMouseMoveRunnable = new Runnable() {
-                        @Override
-                        public void run() {
-                            onHoverEvent(eventFakeMouseMove);
-                            eventFakeMouseMove.recycle();
-                        }
-                    };
-                    mContainerView.postDelayed(mFakeMouseMoveRunnable, 250);
                     return true;
                 case MotionEvent.ACTION_BUTTON_PRESS:
                 case MotionEvent.ACTION_BUTTON_RELEASE:
diff --git a/content/public/common/common_param_traits_macros.h b/content/public/common/common_param_traits_macros.h
index b66e326..ffe235a 100644
--- a/content/public/common/common_param_traits_macros.h
+++ b/content/public/common/common_param_traits_macros.h
@@ -181,7 +181,6 @@
   IPC_STRUCT_TRAITS_MEMBER(should_clear_document_background)
   IPC_STRUCT_TRAITS_MEMBER(touch_event_feature_detection_enabled)
   IPC_STRUCT_TRAITS_MEMBER(device_supports_touch)
-  IPC_STRUCT_TRAITS_MEMBER(device_supports_mouse)
   IPC_STRUCT_TRAITS_MEMBER(touch_adjustment_enabled)
   IPC_STRUCT_TRAITS_MEMBER(pointer_events_max_touch_points)
   IPC_STRUCT_TRAITS_MEMBER(available_pointer_types)
diff --git a/content/public/common/web_preferences.cc b/content/public/common/web_preferences.cc
index 777a251..7f24f09 100644
--- a/content/public/common/web_preferences.cc
+++ b/content/public/common/web_preferences.cc
@@ -129,7 +129,6 @@
       enable_scroll_animator(false),
       touch_event_feature_detection_enabled(false),
       device_supports_touch(false),
-      device_supports_mouse(true),
       touch_adjustment_enabled(true),
       pointer_events_max_touch_points(0),
       available_pointer_types(0),
diff --git a/content/public/common/web_preferences.h b/content/public/common/web_preferences.h
index a06b2e1..4835144 100644
--- a/content/public/common/web_preferences.h
+++ b/content/public/common/web_preferences.h
@@ -161,8 +161,6 @@
   bool touch_event_feature_detection_enabled;
   // TODO(mustaq): Nuke when the new API is ready
   bool device_supports_touch;
-  // TODO(mustaq): Nuke when the new API is ready
-  bool device_supports_mouse;
   bool touch_adjustment_enabled;
   int pointer_events_max_touch_points;
   int available_pointer_types;
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index 16dc1388..35f971e7 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -934,7 +934,6 @@
   settings->setPrimaryHoverType(
       static_cast<blink::HoverType>(prefs.primary_hover_type));
   settings->setDeviceSupportsTouch(prefs.device_supports_touch);
-  settings->setDeviceSupportsMouse(prefs.device_supports_mouse);
   settings->setEnableTouchAdjustment(prefs.touch_adjustment_enabled);
 
   WebRuntimeFeatures::enableColorCorrectRendering(
diff --git a/ios/chrome/browser/geolocation/omnibox_geolocation_config.mm b/ios/chrome/browser/geolocation/omnibox_geolocation_config.mm
index f411c1a..687f6e3f 100644
--- a/ios/chrome/browser/geolocation/omnibox_geolocation_config.mm
+++ b/ios/chrome/browser/geolocation/omnibox_geolocation_config.mm
@@ -67,6 +67,12 @@
                                                    ofType:@"plist"
                                               inDirectory:@"gm-config/ANY"];
   NSDictionary* configData = [NSDictionary dictionaryWithContentsOfFile:path];
+  if (!configData) {
+    // The plist is not packaged with Chromium builds.  This is not an error, so
+    // simply return early, since no domains are eligible for geolocation.
+    return;
+  }
+
   NSArray* eligibleDomains = base::mac::ObjCCastStrict<NSArray>(
       [configData objectForKey:kEligibleDomainsKey]);
   if (eligibleDomains) {
@@ -78,6 +84,7 @@
       }
     }
   }
+  // Make sure that if a plist exists, it contains at least one eligible domain.
   DCHECK(!_eligibleDomains.empty());
 }
 
diff --git a/ios/chrome/browser/passwords/password_controller.mm b/ios/chrome/browser/passwords/password_controller.mm
index 04ba014..05e38f6 100644
--- a/ios/chrome/browser/passwords/password_controller.mm
+++ b/ios/chrome/browser/passwords/password_controller.mm
@@ -39,6 +39,7 @@
 #import "ios/chrome/browser/passwords/js_password_manager.h"
 #import "ios/chrome/browser/passwords/password_generation_agent.h"
 #include "ios/chrome/browser/sync/ios_chrome_profile_sync_service_factory.h"
+#import "ios/web/public/origin_util.h"
 #include "ios/web/public/url_scheme_util.h"
 #import "ios/web/public/web_state/js/crw_js_injection_receiver.h"
 #import "ios/web/public/web_state/web_state.h"
@@ -548,6 +549,15 @@
     return;
 
   if (!forms.empty()) {
+    // Notify web_state about password forms, so that this can be taken into
+    // account for the security state.
+    if (webStateObserverBridge_) {
+      web::WebState* web_state = webStateObserverBridge_->web_state();
+      if (web_state && !web::IsOriginSecure(web_state->GetLastCommittedURL())) {
+        web_state->OnPasswordInputShownOnHttp();
+      }
+    }
+
     // Invoke the password manager callback to autofill password forms
     // on the loaded page.
     passwordManager_->OnPasswordFormsParsed(passwordManagerDriver_.get(),
diff --git a/ios/chrome/browser/passwords/password_controller_unittest.mm b/ios/chrome/browser/passwords/password_controller_unittest.mm
index fda0914..26dd353 100644
--- a/ios/chrome/browser/passwords/password_controller_unittest.mm
+++ b/ios/chrome/browser/passwords/password_controller_unittest.mm
@@ -28,7 +28,10 @@
 #import "ios/chrome/browser/autofill/form_suggestion_controller.h"
 #include "ios/chrome/browser/browser_state/test_chrome_browser_state.h"
 #import "ios/chrome/browser/passwords/js_password_manager.h"
+#import "ios/web/public/navigation_item.h"
+#import "ios/web/public/navigation_manager.h"
 #import "ios/web/public/web_state/web_state.h"
+#include "ios/web/public/ssl_status.h"
 #import "ios/web/public/test/web_test_with_web_state.h"
 #import "ios/web/public/test/test_web_state.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -981,6 +984,10 @@
        "</form>"));
 }
 
+// An HTML page without a password form.
+static NSString* kHtmlWithoutPasswordForm =
+    @"<h2>The rain in Spain stays <i>mainly</i> in the plain.</h2>";
+
 // An HTML page containing one password form.  The username input field
 // also has custom event handlers.  We need to verify that those event
 // handlers are still triggered even though we override them with our own.
@@ -1286,3 +1293,47 @@
   web_state.SetCurrentURL(GURL("https://example.com"));
   [passwordController webStateDidLoadPage:&web_state];
 }
+
+// Tests that an HTTP page without a password field does not update the SSL
+// status to indicate DISPLAYED_PASSWORD_FIELD_ON_HTTP.
+TEST_F(PasswordControllerTest, HTTPNoPassword) {
+  LoadHtml(kHtmlWithoutPasswordForm, GURL("http://chromium.test"));
+
+  web::SSLStatus ssl_status =
+      web_state()->GetNavigationManager()->GetLastCommittedItem()->GetSSL();
+  EXPECT_FALSE(ssl_status.content_status &
+               web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+}
+
+// Tests that an HTTP page with a password field updates the SSL status
+// to indicate DISPLAYED_PASSWORD_FIELD_ON_HTTP.
+TEST_F(PasswordControllerTest, HTTPPassword) {
+  LoadHtml(kHtmlWithPasswordForm, GURL("http://chromium.test"));
+
+  web::SSLStatus ssl_status =
+      web_state()->GetNavigationManager()->GetLastCommittedItem()->GetSSL();
+  EXPECT_TRUE(ssl_status.content_status &
+              web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+}
+
+// Tests that an HTTPS page without a password field does not update the SSL
+// status to indicate DISPLAYED_PASSWORD_FIELD_ON_HTTP.
+TEST_F(PasswordControllerTest, HTTPSNoPassword) {
+  LoadHtml(kHtmlWithoutPasswordForm, GURL("https://chromium.test"));
+
+  web::SSLStatus ssl_status =
+      web_state()->GetNavigationManager()->GetLastCommittedItem()->GetSSL();
+  EXPECT_FALSE(ssl_status.content_status &
+               web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+}
+
+// Tests that an HTTPS page with a password field does not update the SSL status
+// to indicate DISPLAYED_PASSWORD_FIELD_ON_HTTP.
+TEST_F(PasswordControllerTest, HTTPSPassword) {
+  LoadHtml(kHtmlWithPasswordForm, GURL("https://chromium.test"));
+
+  web::SSLStatus ssl_status =
+      web_state()->GetNavigationManager()->GetLastCommittedItem()->GetSSL();
+  EXPECT_FALSE(ssl_status.content_status &
+               web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+}
diff --git a/ios/chrome/browser/ssl/ios_security_state_tab_helper.mm b/ios/chrome/browser/ssl/ios_security_state_tab_helper.mm
index 0777b29..9225670 100644
--- a/ios/chrome/browser/ssl/ios_security_state_tab_helper.mm
+++ b/ios/chrome/browser/ssl/ios_security_state_tab_helper.mm
@@ -55,5 +55,9 @@
   state->displayed_mixed_content =
       (ssl.content_status & web::SSLStatus::DISPLAYED_INSECURE_CONTENT) ? true
                                                                         : false;
+  state->displayed_password_field_on_http =
+      (ssl.content_status & web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP)
+          ? true
+          : false;
   return state;
 }
diff --git a/ios/web/public/ssl_status.h b/ios/web/public/ssl_status.h
index 26446e9..58b8c533b 100644
--- a/ios/web/public/ssl_status.h
+++ b/ios/web/public/ssl_status.h
@@ -18,13 +18,17 @@
   // Flags used for the page security content status.
   enum ContentStatusFlags {
     // HTTP page, or HTTPS page with no insecure content.
-    NORMAL_CONTENT             = 0,
+    NORMAL_CONTENT = 0,
 
     // HTTPS page containing "displayed" HTTP resources (e.g. images, CSS).
     DISPLAYED_INSECURE_CONTENT = 1 << 0,
 
     // The RAN_INSECURE_CONTENT flag is intentionally omitted on iOS because
     // there is no way to tell when insecure content is run in a web view.
+
+    // HTTP page containing a password input, used to adjust UI on nonsecure
+    // pages that collect sensitive data.
+    DISPLAYED_PASSWORD_FIELD_ON_HTTP = 1 << 4,
   };
 
   SSLStatus();
diff --git a/ios/web/public/test/test_web_state.h b/ios/web/public/test/test_web_state.h
index 4b7f139..b47baa9 100644
--- a/ios/web/public/test/test_web_state.h
+++ b/ios/web/public/test/test_web_state.h
@@ -58,6 +58,7 @@
   CRWWebViewProxyType GetWebViewProxy() const override;
   bool IsShowingWebInterstitial() const override;
   WebInterstitial* GetWebInterstitial() const override;
+  void OnPasswordInputShownOnHttp() override {}
 
   void AddObserver(WebStateObserver* observer) override;
 
diff --git a/ios/web/public/web_state/web_state.h b/ios/web/public/web_state/web_state.h
index 9f923336..cb31708 100644
--- a/ios/web/public/web_state/web_state.h
+++ b/ios/web/public/web_state/web_state.h
@@ -200,6 +200,10 @@
   // Returns the currently visible WebInterstitial if one is shown.
   virtual WebInterstitial* GetWebInterstitial() const = 0;
 
+  // Tells the WebState that the current page is an HTTP page
+  // containing a password field.
+  virtual void OnPasswordInputShownOnHttp() = 0;
+
   // Callback used to handle script commands.
   // The callback must return true if the command was handled, and false
   // otherwise.
diff --git a/ios/web/web_state/ui/crw_web_controller.h b/ios/web/web_state/ui/crw_web_controller.h
index 1e0c82fc..384160b 100644
--- a/ios/web/web_state/ui/crw_web_controller.h
+++ b/ios/web/web_state/ui/crw_web_controller.h
@@ -225,6 +225,10 @@
 // Notifies the CRWWebController that it has been shown.
 - (void)wasShown;
 
+// Notifies the CRWWebController that the current page is an HTTP page
+// containing a password field.
+- (void)didShowPasswordInputOnHTTP;
+
 // Notifies the CRWWebController that it has been hidden.
 - (void)wasHidden;
 
diff --git a/ios/web/web_state/ui/crw_web_controller.mm b/ios/web/web_state/ui/crw_web_controller.mm
index ca23114..7dfacea 100644
--- a/ios/web/web_state/ui/crw_web_controller.mm
+++ b/ios/web/web_state/ui/crw_web_controller.mm
@@ -4607,6 +4607,15 @@
   }
 }
 
+- (void)didShowPasswordInputOnHTTP {
+  DCHECK(!web::IsOriginSecure(self.webState->GetLastCommittedURL()));
+  web::NavigationItem* item =
+      self.webState->GetNavigationManager()->GetLastCommittedItem();
+  item->GetSSL().content_status |=
+      web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP;
+  [self didUpdateSSLStatusForCurrentNavigationItem];
+}
+
 - (void)handleSSLCertError:(NSError*)error {
   CHECK(web::IsWKWebViewSSLCertError(error));
 
diff --git a/ios/web/web_state/ui/crw_web_controller_unittest.mm b/ios/web/web_state/ui/crw_web_controller_unittest.mm
index b4e50ea..4f6fd35 100644
--- a/ios/web/web_state/ui/crw_web_controller_unittest.mm
+++ b/ios/web/web_state/ui/crw_web_controller_unittest.mm
@@ -758,6 +758,19 @@
               session_controller.currentEntry);
 }
 
+// Tests that didShowPasswordInputOnHTTP updates the SSLStatus to indicate that
+// a password field has been displayed on an HTTP page.
+TEST_F(CRWWebControllerNavigationTest, HTTPPassword) {
+  LoadHtml(@"<html><body></body></html>", GURL("http://chromium.test"));
+  NavigationManagerImpl& nav_manager =
+      web_controller().webStateImpl->GetNavigationManagerImpl();
+  EXPECT_FALSE(nav_manager.GetLastCommittedItem()->GetSSL().content_status &
+               web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+  [web_controller() didShowPasswordInputOnHTTP];
+  EXPECT_TRUE(nav_manager.GetLastCommittedItem()->GetSSL().content_status &
+              web::SSLStatus::DISPLAYED_PASSWORD_FIELD_ON_HTTP);
+}
+
 // Real WKWebView is required for CRWWebControllerJSExecutionTest.
 typedef web::WebTestWithWebController CRWWebControllerJSExecutionTest;
 
diff --git a/ios/web/web_state/web_state_impl.h b/ios/web/web_state/web_state_impl.h
index 5f01b93..e511ffd 100644
--- a/ios/web/web_state/web_state_impl.h
+++ b/ios/web/web_state/web_state_impl.h
@@ -244,6 +244,7 @@
   void ShowTransientContentView(CRWContentView* content_view) override;
   bool IsShowingWebInterstitial() const override;
   WebInterstitial* GetWebInterstitial() const override;
+  void OnPasswordInputShownOnHttp() override;
   void AddScriptCommandCallback(const ScriptCommandCallback& callback,
                                 const std::string& command_prefix) override;
   void RemoveScriptCommandCallback(const std::string& command_prefix) override;
diff --git a/ios/web/web_state/web_state_impl.mm b/ios/web/web_state/web_state_impl.mm
index 9d2dfa4..42a89257 100644
--- a/ios/web/web_state/web_state_impl.mm
+++ b/ios/web/web_state/web_state_impl.mm
@@ -361,6 +361,10 @@
   return interstitial_;
 }
 
+void WebStateImpl::OnPasswordInputShownOnHttp() {
+  [web_controller_ didShowPasswordInputOnHTTP];
+}
+
 net::HttpResponseHeaders* WebStateImpl::GetHttpResponseHeaders() const {
   return http_response_headers_.get();
 }
diff --git a/net/nqe/network_quality_estimator_unittest.cc b/net/nqe/network_quality_estimator_unittest.cc
index 36d12bb..cc598319 100644
--- a/net/nqe/network_quality_estimator_unittest.cc
+++ b/net/nqe/network_quality_estimator_unittest.cc
@@ -838,7 +838,14 @@
 
 // Tests that |GetEffectiveConnectionType| returns correct connection type when
 // only transport RTT thresholds are specified in the variation params.
-TEST(NetworkQualityEstimatorTest, ObtainThresholdsOnlyTransportRTT) {
+#if defined(OS_IOS)
+// Flaky on iOS: crbug.com/672917.
+#define MAYBE_ObtainThresholdsOnlyTransportRTT \
+  DISABLED_ObtainThresholdsOnlyTransportRTT
+#else
+#define MAYBE_ObtainThresholdsOnlyTransportRTT ObtainThresholdsOnlyTransportRTT
+#endif
+TEST(NetworkQualityEstimatorTest, MAYBE_ObtainThresholdsOnlyTransportRTT) {
   std::map<std::string, std::string> variation_params;
   variation_params["effective_connection_type_algorithm"] =
       "TransportRTTOrDownstreamThroughput";
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index 68e8a99..a5e7220 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -99,9 +99,12 @@
 crbug.com/646176 virtual/spinvalidation/paint/invalidation/ [ Pass ]
 
 crbug.com/646176 virtual/spinvalidation/compositing/overflow/scroller-with-border-radius.html [ Pass ]
+crbug.com/646176 virtual/spinvalidation/fast/dynamic/static-to-relative-with-absolute-child.html [ Pass ]
+crbug.com/646176 virtual/spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Pass ]
+crbug.com/646176 virtual/spinvalidation/compositing/contents-opaque/visibility-hidden.html [ Pass ]
+crbug.com/646176 virtual/spinvalidation/compositing/composited-iframe-hidden.html [ Pass ]
 
 crbug.com/645667 virtual/spinvalidation/paint/invalidation/filter-repaint-accelerated-on-accelerated-filter.html [ Crash ]
-crbug.com/645667 virtual/spinvalidation/paint/invalidation/position-change-keeping-geometry.html [ Crash ]
 crbug.com/645667 virtual/spinvalidation/paint/invalidation/compositing/resize-repaint.html [ Crash ]
 crbug.com/645667 virtual/spinvalidation/paint/invalidation/compositing/shrink-layer.html [ Crash ]
 crbug.com/645667 virtual/spinvalidation/paint/invalidation/filter-repaint-on-accelerated-layer.html [ Crash ]
@@ -1433,8 +1436,7 @@
 crbug.com/654999 [ Win Linux ] fast/forms/color/color-suggestion-picker-appearance-zoom200.html [ Pass Failure ]
 crbug.com/660185 [ Mac ] fast/forms/datalist/input-appearance-range-with-transform.html [ Pass Failure ]
 
-# TODO(tkent): Re-enable after rebaseline for crbug.com/667236
-# crbug.com/658304 [ Win Linux ] fast/forms/select/input-select-after-resize.html [ Crash Timeout Pass ]
+crbug.com/658304 [ Win Linux ] fast/forms/select/input-select-after-resize.html [ Crash Timeout Pass ]
 
 crbug.com/659192 virtual/gpu/fast/canvas/canvas-imageSmoothingQuality-pixel.html [ NeedsManualRebaseline ]
 
@@ -1934,108 +1936,6 @@
 
 crbug.com/660295 inspector/elements/elements-panel-restore-selection-when-node-comes-later.html [ Pass Failure ]
 
-crbug.com/667236 fast/forms/select/menulist-appearance-basic.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux ] fast/forms/select/basic-selects.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux ] fast/forms/select/select-autofilled.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] css3/selectors3/html/css3-modsel-161.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] css3/selectors3/xhtml/css3-modsel-161.xml [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] css3/selectors3/xml/css3-modsel-161.xml [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] editing/selection/replaced-boundaries-3.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] editing/selection/select-box.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] editing/selection/select-element-paragraph-boundary.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/block/float/float-avoidance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/block/margin-collapse/103.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/001.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/color/color-suggestion-picker-appearance-zoom125.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/color/color-suggestion-picker-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/color/color-suggestion-picker-one-row-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/color/color-suggestion-picker-two-row-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/color/input-appearance-color.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/control-clip-overflow.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/control-restrict-line-height.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/form-element-geometry.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-empty.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-long.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-many.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-minimum-font.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-rtl-default.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-single-option.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-styled.html [ NeedsRebaseline ]
-crbug.com/667236 [ Win ] fast/forms/select-popup/popup-menu-appearance-tall.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-texttransform.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-transform.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-zoom.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance-zoom090.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select-popup/popup-menu-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/003.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/004.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label01.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label02.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label03.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label04.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label06.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/HTMLOptionElement_label07.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/disabled-select-change-index.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/input-select-after-resize.html [ NeedsManualRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-appearance-rtl.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-deselect-update.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-narrow-width.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-no-overflow.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-restrict-line-height.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-separator-painting.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-style-color.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-update-text-popup.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/menulist-width-change.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/optgroup-rendering.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/option-script.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/option-strip-whitespace.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/option-text-clip.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-align.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-background-none.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-baseline.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-change-listbox-to-popup.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-dirty-parent-pref-widths.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-disabled-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-initial-position.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-selected.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-size-invalid.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-style.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-visual-hebrew.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/select-writing-direction-natural.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/select/selectlist-minsize.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/forms/stuff-on-my-optgroup.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/html/keygen.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/invalid/014.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/parser/document-write-option.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/replaced/replaced-breaking-mixture.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/replaced/replaced-breaking.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/replaced/three-selects-break.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] fast/replaced/width100percent-menulist.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] http/tests/webfont/popup-menu-load-webfont-after-open.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug1188.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug18359.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug2479-3.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug2479-4.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug29326.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug33855.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug4382.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/bugs/bug96334.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/core/margins.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla/dom/tableDom.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] tables/mozilla_expected_failures/bugs/bug2479-5.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] transforms/2d/zoom-menulist.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 [ Linux Win ] virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance.html [ NeedsRebaseline ]
-crbug.com/667236 accessibility/disabled-controls-not-focusable.html [ NeedsRebaseline ]
-crbug.com/667236 fast/canvas/fallback-content.html [ NeedsRebaseline ]
-crbug.com/667236 virtual/display_list_2d_canvas/fast/canvas/fallback-content.html [ NeedsRebaseline ]
-crbug.com/667236 virtual/gpu/fast/canvas/fallback-content.html [ NeedsRebaseline ]
 crbug.com/659610 fast/css-grid-layout/grid-baseline.html [ Failure ]
 crbug.com/659610 fast/css-grid-layout/grid-baseline-margins.html [ Failure ]
 
diff --git a/third_party/WebKit/LayoutTests/accessibility/disabled-controls-not-focusable-expected.txt b/third_party/WebKit/LayoutTests/accessibility/disabled-controls-not-focusable-expected.txt
index 5bfc3ce7..5b2d5f49 100644
--- a/third_party/WebKit/LayoutTests/accessibility/disabled-controls-not-focusable-expected.txt
+++ b/third_party/WebKit/LayoutTests/accessibility/disabled-controls-not-focusable-expected.txt
@@ -1,4 +1,3 @@
-                
 This test makes sure that disabled form controls are not exposed as focusable.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/fallback-content-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/fallback-content-expected.txt
index 2bd2726..ce1a3cf 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/fallback-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/canvas/fallback-content-expected.txt
@@ -1,5 +1,3 @@
-Link  Button                
-Focusable
 This test makes sure that focusable elements in canvas fallback content are focusable.
 
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
diff --git a/third_party/WebKit/LayoutTests/fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html b/third_party/WebKit/LayoutTests/fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html
index 101a067..837ad736 100644
--- a/third_party/WebKit/LayoutTests/fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html
+++ b/third_party/WebKit/LayoutTests/fast/events/touch/scroll-without-mouse-lacks-mousemove-events.html
@@ -2,11 +2,6 @@
 <html>
 <head>
 <script>
-if (window.internals)
-    window.internals.settings.setDeviceSupportsMouse(false);
-else
-    alert("This test requires window.internals");
-
 if (window.testRunner) {
     testRunner.dumpAsText();
     testRunner.waitUntilDone();
diff --git a/third_party/WebKit/LayoutTests/inspector/network/network-json-parser.html b/third_party/WebKit/LayoutTests/inspector/network/network-json-parser.html
index 269274f..06cdf38 100644
--- a/third_party/WebKit/LayoutTests/inspector/network/network-json-parser.html
+++ b/third_party/WebKit/LayoutTests/inspector/network/network-json-parser.html
@@ -4,7 +4,6 @@
 <script src="../../http/tests/inspector/network-test.js"></script>
 <script>
 function test() {
-    var worker = new Common.Worker("formatter_worker");
     function check(jsonText)
     {
         var resultData = Network.JSONView._extractJSON(jsonText);
@@ -13,12 +12,10 @@
             return;
         }
 
-        worker.onmessage = success;
-        worker.postMessage({method: "relaxedJSONParser", params:{content: resultData.data}});
+        Common.formatterWorkerPool.parseJSONRelaxed(resultData.data).then(success);
 
-        function success(event)
+        function success(data)
         {
-            var data = event.data;
             if (data === null) {
                 failure();
                 return;
@@ -60,7 +57,6 @@
             currentTestIndex++;
             check(tests[currentTestIndex - 1]);
         } else {
-            worker.terminate();
             InspectorTest.completeTest();
         }
     }
diff --git a/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html b/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html
index 45728a7..e110c67f 100644
--- a/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html
+++ b/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html
@@ -56,14 +56,13 @@
     {
         InspectorTest.addResult("Text:");
         InspectorTest.addResult("    " + text + "\n");
-        Common.formatterWorkerPool.runTask("javaScriptIdentifiers", {content: text})
+        Common.formatterWorkerPool.javaScriptIdentifiers(text)
             .then(onIdentifiers)
             .then(next);
     }
 
-    function onIdentifiers(event)
+    function onIdentifiers(ids)
     {
-        var ids = event ? event.data : [];
         InspectorTest.addResult("Identifiers:");
         for (var id of ids)
             InspectorTest.addResult(`    id: ${id.name}    offset: ${id.offset}`);
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index 4c8736f..18d5891 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
index 05924a3..6d36b790 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
@@ -21,123 +21,123 @@
         layer at (0,0) size 300x761
           LayoutBlockFlow {HTML} at (0,0) size 300x761
             LayoutBlockFlow {BODY} at (8,8) size 284x745
-              LayoutMenuList {SELECT} at (5,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,25) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,25) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,50) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,50) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,75) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,75) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,100) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,100) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,125) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,125) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,150) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,150) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,175) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,175) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,200) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,200) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,225) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,225) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,250) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,250) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,275) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,275) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,300) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,300) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,325) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,325) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,350) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,350) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,375) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,375) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,400) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,400) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,425) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,425) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,450) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,450) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,475) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,475) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,500) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,500) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,525) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,525) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,550) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,550) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,575) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,575) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,600) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,600) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,625) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,625) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,650) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,650) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,675) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,675) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,700) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,700) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,725) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,725) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
index cb458ca..3b37132a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.txt
index 527e8e0e..6bd2246 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/html/css3-modsel-161-expected.txt
@@ -9,8 +9,8 @@
       LayoutBlockFlow {P} at (0,36) size 784x20 [bgcolor=#00FF00]
         LayoutText {#text} at (0,0) size 661x19
           text run at (0,0) width 661: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green). "
-        LayoutMenuList {SELECT} at (661,0) size 97x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 95x18
+        LayoutMenuList {SELECT} at (661,0) size 95x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 93x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "This should"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
index cb458ca..3b37132a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.txt
index cb58b47..104126f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xhtml/css3-modsel-161-expected.txt
@@ -9,8 +9,8 @@
       LayoutBlockFlow {p} at (0,36) size 784x20 [bgcolor=#00FF00]
         LayoutText {#text} at (0,0) size 661x19
           text run at (0,0) width 661: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green). "
-        LayoutMenuList {select} at (661,0) size 97x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 95x18
+        LayoutMenuList {select} at (661,0) size 95x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 93x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "This should"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
index bb30bd91..de013b1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.txt
index c3fdc05..d25a09f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/css3/selectors3/xml/css3-modsel-161-expected.txt
@@ -8,8 +8,8 @@
     LayoutBlockFlow {p} at (0,52) size 800x20 [bgcolor=#00FF00]
       LayoutText {#text} at (0,0) size 661x19
         text run at (0,0) width 661: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green). "
-      LayoutMenuList {select} at (661,0) size 97x20 [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 95x18
+      LayoutMenuList {select} at (661,0) size 95x20 [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 93x18
           LayoutText (anonymous) at (4,1) size 66x16
             text run at (4,1) width 66: "This should"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
index 0ffdd08..c08a5b7 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
index 4f54a8a3..a635841 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/replaced-boundaries-3-expected.txt
@@ -16,8 +16,8 @@
         LayoutText {#text} at (0,0) size 22x19
           text run at (0,0) width 22: "abc"
         LayoutBR {BR} at (22,15) size 0x0
-        LayoutMenuList {SELECT} at (0,20) size 235x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 233x18
+        LayoutMenuList {SELECT} at (0,20) size 233x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 231x18
             LayoutText (anonymous) at (4,1) size 211x16
               text run at (4,1) width 211: "this select box shouldn't be selected"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.png
index 5a3cd25c..9e59fbc 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.txt
index 7228c84..e36ba192 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-box-expected.txt
@@ -62,10 +62,10 @@
         LayoutBlockFlow {DIV} at (0,0) size 784x20
           LayoutText {#text} at (0,0) size 68x19
             text run at (0,0) width 68: "select box: "
-          LayoutMenuList {SELECT} at (68,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 29x18
+          LayoutMenuList {SELECT} at (68,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 27x18
               LayoutText (anonymous) at (4,1) size 7x16
                 text run at (4,1) width 7: "1"
-          LayoutText {#text} at (99,0) size 64x19
-            text run at (99,0) width 64: " the end ..."
+          LayoutText {#text} at (97,0) size 64x19
+            text run at (97,0) width 64: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
index ef05288a..a85420e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
index 84921cb58..23ec988 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/editing/selection/select-element-paragraph-boundary-expected.txt
@@ -10,8 +10,8 @@
           text run at (0,0) width 308: "This tests paragraphBoundary selection navigation. "
           text run at (308,0) width 476: "The caret should be at the end of the paragraph below, just after the select box."
       LayoutBlockFlow {DIV} at (0,36) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 29x18
+        LayoutMenuList {SELECT} at (0,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 27x18
             LayoutText (anonymous) at (4,1) size 7x16
               text run at (4,1) width 7: "1"
 caret: position 1 of child 0 {SELECT} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/float-avoidance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/float-avoidance-expected.png
index c426c65..2cf4c54c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/float-avoidance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/block/float/float-avoidance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/block/margin-collapse/103-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/block/margin-collapse/103-expected.png
index 9d75083..cf042526 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/block/margin-collapse/103-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/block/margin-collapse/103-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.png
index 27668c49..43e5931 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.txt
index 095fe56..34de3dc 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/001-expected.txt
@@ -9,12 +9,12 @@
       LayoutTable {TABLE} at (0,58.44) size 784x86 [border: (2px outset #808080)]
         LayoutTableSection {TBODY} at (2,2) size 780x82
           LayoutTableRow {TR} at (0,0) size 780x82
-            LayoutTableCell {TD} at (0,0) size 126x82 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              LayoutMenuList {SELECT} at (1,1) size 124x80 [bgcolor=#C0C0C0] [border: (40px solid #FF0000)]
-                LayoutBlockFlow (anonymous) at (40,40) size 44x18
+            LayoutTableCell {TD} at (0,0) size 124x82 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              LayoutMenuList {SELECT} at (1,1) size 122x80 [bgcolor=#C0C0C0] [border: (40px solid #FF0000)]
+                LayoutBlockFlow (anonymous) at (40,40) size 42x18
                   LayoutText (anonymous) at (4,1) size 22x16
                     text run at (4,1) width 22: "Foo"
-            LayoutTableCell {TD} at (126,40) size 654x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,40) size 656x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
       LayoutBlockFlow {P} at (0,160.44) size 784x24
         LayoutTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
           LayoutTableSection {TBODY} at (2,2) size 780x20
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 4f76bae..4d5c54e03 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
index e3ee3a6c..451b241 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
index 7037fe4..9d59d9ac 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
index 09e0a08..45f0276f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/input-appearance-color-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/input-appearance-color-expected.png
index 3cd1ad4..8c3543e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/input-appearance-color-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/color/input-appearance-color-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-clip-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-clip-overflow-expected.png
index 9551c7c..6f0c02b1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-clip-overflow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-clip-overflow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.png
index cddd6bfe..0889f065 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.txt
index 65101b3..3bb38e3 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/control-restrict-line-height-expected.txt
@@ -6,12 +6,12 @@
       LayoutText {#text} at (0,0) size 494x19
         text run at (0,0) width 494: "This tests that we don't honor line-height for controls that have restricted font size. "
       LayoutBR {BR} at (0,0) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 318x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 316x18
+      LayoutMenuList {SELECT} at (0,20) size 316x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 314x18
           LayoutText (anonymous) at (4,1) size 294x16
             text run at (4,1) width 294: "This text should be centered vertically in the button"
-      LayoutText {#text} at (318,20) size 4x19
-        text run at (318,20) width 4: " "
+      LayoutText {#text} at (316,20) size 4x19
+        text run at (316,20) width 4: " "
       LayoutBR {BR} at (0,0) size 0x0
       LayoutButton {INPUT} at (0,40) size 310x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 294x16
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.png
index 491d17c6..15e4af4 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.txt
index 718c3554..10a24f1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/form-element-geometry-expected.txt
@@ -12,9 +12,9 @@
       LayoutBlockFlow {H2} at (0,98.34) size 784x27
         LayoutText {#text} at (0,0) size 165x26
           text run at (0,0) width 165: "Bounding Boxes"
-      LayoutTable {TABLE} at (0,145.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,145.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 52x27
@@ -22,45 +22,45 @@
                     LayoutBlockFlow (anonymous) at (8,3) size 36x16
                       LayoutText {#text} at (0,0) size 36x16
                         text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutInline {FONT} at (0,0) size 56x27
-                  LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                    LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutInline {FONT} at (0,0) size 54x27
+                  LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                    LayoutBlockFlow (anonymous) at (1,1) size 52x18
                       LayoutText (anonymous) at (4,1) size 32x16
                         text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x27
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x27
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-      LayoutTable {TABLE} at (0,177.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,177.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutButton {INPUT} at (2,2) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 36x16
                     LayoutText {#text} at (0,0) size 36x16
                       text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 52x18
                     LayoutText (anonymous) at (4,1) size 32x16
                       text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutBlockFlow {INPUT} at (2,2) size 13x13
-      LayoutTable {TABLE} at (0,209.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,209.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 52x12
@@ -68,18 +68,18 @@
                     LayoutBlockFlow (anonymous) at (8,3) size 36x16
                       LayoutText {#text} at (0,0) size 36x16
                         text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutInline {FONT} at (0,0) size 56x12
-                  LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                    LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutInline {FONT} at (0,0) size 54x12
+                  LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                    LayoutBlockFlow (anonymous) at (1,1) size 52x18
                       LayoutText (anonymous) at (4,1) size 32x16
                         text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x12
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x12
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
@@ -104,7 +104,7 @@
         LayoutText {#text} at (0,0) size 199x26
           text run at (0,0) width 199: "Baseline Alignment"
       LayoutBlockFlow {DIV} at (0,388.06) size 784x28
-        LayoutInline {FONT} at (0,0) size 210x27
+        LayoutInline {FONT} at (0,0) size 208x27
           LayoutText {#text} at (0,0) size 43x27
             text run at (0,0) width 43: "text "
           LayoutButton {INPUT} at (43,5) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
@@ -113,16 +113,16 @@
                 text run at (0,0) width 36: "button"
           LayoutText {#text} at (95,0) size 6x27
             text run at (95,0) width 6: " "
-          LayoutMenuList {SELECT} at (101,6) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 54x18
+          LayoutMenuList {SELECT} at (101,6) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 52x18
               LayoutText (anonymous) at (4,1) size 32x16
                 text run at (4,1) width 32: "menu"
-          LayoutText {#text} at (157,0) size 6x27
-            text run at (157,0) width 6: " "
-          LayoutBlockFlow {INPUT} at (168,8) size 13x13
-          LayoutText {#text} at (184,0) size 6x27
-            text run at (184,0) width 6: " "
-          LayoutBlockFlow {INPUT} at (194,8) size 13x13
+          LayoutText {#text} at (155,0) size 6x27
+            text run at (155,0) width 6: " "
+          LayoutBlockFlow {INPUT} at (166,8) size 13x13
+          LayoutText {#text} at (182,0) size 6x27
+            text run at (182,0) width 6: " "
+          LayoutBlockFlow {INPUT} at (192,8) size 13x13
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,416.06) size 784x22
         LayoutText {#text} at (0,1) size 26x19
@@ -133,19 +133,19 @@
               text run at (0,0) width 36: "button"
         LayoutText {#text} at (78,1) size 4x19
           text run at (78,1) width 4: " "
-        LayoutMenuList {SELECT} at (82,1) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 54x18
+        LayoutMenuList {SELECT} at (82,1) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 52x18
             LayoutText (anonymous) at (4,1) size 32x16
               text run at (4,1) width 32: "menu"
-        LayoutText {#text} at (138,1) size 4x19
-          text run at (138,1) width 4: " "
-        LayoutBlockFlow {INPUT} at (147,3) size 13x13
-        LayoutText {#text} at (163,1) size 4x19
-          text run at (163,1) width 4: " "
-        LayoutBlockFlow {INPUT} at (171,3) size 13x13
+        LayoutText {#text} at (136,1) size 4x19
+          text run at (136,1) width 4: " "
+        LayoutBlockFlow {INPUT} at (145,3) size 13x13
+        LayoutText {#text} at (161,1) size 4x19
+          text run at (161,1) width 4: " "
+        LayoutBlockFlow {INPUT} at (169,3) size 13x13
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,438.06) size 784x22
-        LayoutInline {FONT} at (0,0) size 176x12
+        LayoutInline {FONT} at (0,0) size 174x12
           LayoutText {#text} at (0,6) size 18x12
             text run at (0,6) width 18: "text "
           LayoutButton {INPUT} at (18,0) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
@@ -154,16 +154,16 @@
                 text run at (0,0) width 36: "button"
           LayoutText {#text} at (70,6) size 3x12
             text run at (70,6) width 3: " "
-          LayoutMenuList {SELECT} at (73,1) size 56x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 54x18
+          LayoutMenuList {SELECT} at (73,1) size 54x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 52x18
               LayoutText (anonymous) at (4,1) size 32x16
                 text run at (4,1) width 32: "menu"
-          LayoutText {#text} at (129,6) size 3x12
-            text run at (129,6) width 3: " "
-          LayoutBlockFlow {INPUT} at (137,3) size 13x13
-          LayoutText {#text} at (153,6) size 3x12
-            text run at (153,6) width 3: " "
-          LayoutBlockFlow {INPUT} at (160,3) size 13x13
+          LayoutText {#text} at (127,6) size 3x12
+            text run at (127,6) width 3: " "
+          LayoutBlockFlow {INPUT} at (135,3) size 13x13
+          LayoutText {#text} at (151,6) size 3x12
+            text run at (151,6) width 3: " "
+          LayoutBlockFlow {INPUT} at (158,3) size 13x13
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,460.06) size 784x42
         LayoutText {#text} at (0,21) size 26x19
@@ -183,60 +183,60 @@
         LayoutText {#text} at (0,0) size 195x26
           text run at (0,0) width 195: "Pop-up Menu Sizes"
       LayoutBlockFlow {DIV} at (0,568.88) size 784x28
-        LayoutInline {FONT} at (0,0) size 143x27
+        LayoutInline {FONT} at (0,0) size 137x27
           LayoutText {#text} at (0,0) size 0x0
-          LayoutMenuList {SELECT} at (0,6) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 22x18
+          LayoutMenuList {SELECT} at (0,6) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 20x18
               LayoutText (anonymous) at (4,1) size 4x16
                 text run at (4,1) width 4: " "
-          LayoutText {#text} at (24,0) size 6x27
-            text run at (24,0) width 6: " "
-          LayoutMenuList {SELECT} at (30,6) size 27x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 25x18
+          LayoutText {#text} at (22,0) size 6x27
+            text run at (22,0) width 6: " "
+          LayoutMenuList {SELECT} at (28,6) size 25x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 23x18
               LayoutText (anonymous) at (4,1) size 3x16
                 text run at (4,1) width 3: "|"
-          LayoutText {#text} at (57,0) size 6x27
-            text run at (57,0) width 6: " "
-          LayoutMenuList {SELECT} at (63,6) size 80x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 78x18
+          LayoutText {#text} at (53,0) size 6x27
+            text run at (53,0) width 6: " "
+          LayoutMenuList {SELECT} at (59,6) size 78x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 76x18
               LayoutText (anonymous) at (4,1) size 56x16
                 text run at (4,1) width 56: "xxxxxxxx"
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,596.88) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutText {#text} at (24,0) size 4x19
-          text run at (24,0) width 4: " "
-        LayoutMenuList {SELECT} at (28,0) size 27x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 25x18
+        LayoutText {#text} at (22,0) size 4x19
+          text run at (22,0) width 4: " "
+        LayoutMenuList {SELECT} at (26,0) size 25x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 23x18
             LayoutText (anonymous) at (4,1) size 3x16
               text run at (4,1) width 3: "|"
-        LayoutText {#text} at (55,0) size 4x19
-          text run at (55,0) width 4: " "
-        LayoutMenuList {SELECT} at (59,0) size 80x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 78x18
+        LayoutText {#text} at (51,0) size 4x19
+          text run at (51,0) width 4: " "
+        LayoutMenuList {SELECT} at (55,0) size 78x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 76x18
             LayoutText (anonymous) at (4,1) size 56x16
               text run at (4,1) width 56: "xxxxxxxx"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,616.88) size 784x20
-        LayoutInline {FONT} at (0,0) size 137x12
+        LayoutInline {FONT} at (0,0) size 131x12
           LayoutText {#text} at (0,0) size 0x0
-          LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 22x18
+          LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 20x18
               LayoutText (anonymous) at (4,1) size 4x16
                 text run at (4,1) width 4: " "
-          LayoutText {#text} at (24,5) size 3x12
-            text run at (24,5) width 3: " "
-          LayoutMenuList {SELECT} at (27,0) size 27x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 25x18
+          LayoutText {#text} at (22,5) size 3x12
+            text run at (22,5) width 3: " "
+          LayoutMenuList {SELECT} at (25,0) size 25x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 23x18
               LayoutText (anonymous) at (4,1) size 3x16
                 text run at (4,1) width 3: "|"
-          LayoutText {#text} at (54,5) size 3x12
-            text run at (54,5) width 3: " "
-          LayoutMenuList {SELECT} at (57,0) size 80x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 78x18
+          LayoutText {#text} at (50,5) size 3x12
+            text run at (50,5) width 3: " "
+          LayoutMenuList {SELECT} at (53,0) size 78x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 76x18
               LayoutText (anonymous) at (4,1) size 56x16
                 text run at (4,1) width 56: "xxxxxxxx"
           LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
index 2e9456d..64980af7 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
index 092b4b2..8c2ee9a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
index 8f44dff..e02a2cc 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-long-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
index 269d5bee..5c9e738 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-many-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
index 4757230..8835a0c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
index b50ca3c..300ffb1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
index f8e11e0..d2c418c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index 94d0f44..9035d5c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
index 4f0afa6..541f0e1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
index 2c57334..a5b10fa 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
index 1f4f385..c7262862 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index 46f77e5..da10c548 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.png
index 998f0aec..91f3a751 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.txt
index eec4a82..5055664b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/003-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 51x18
+      LayoutMenuList {SELECT} at (0,0) size 51x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 49x18
           LayoutText (anonymous) at (4,1) size 29x16
             text run at (4,1) width 29: "Hello"
       LayoutBlockFlow (anonymous) at (0,20) size 784x20
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.png
index abeff11..a6e08f8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.txt
index 21d3eec15..c15959d 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/004-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 51x18
+      LayoutMenuList {SELECT} at (0,0) size 51x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 49x18
           LayoutText (anonymous) at (4,1) size 29x16
             text run at (4,1) width 29: "Hello"
-      LayoutText {#text} at (53,0) size 4x19
-        text run at (53,0) width 4: " "
-      LayoutMenuList {SELECT} at (57,0) size 76x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 74x18
+      LayoutText {#text} at (51,0) size 4x19
+        text run at (51,0) width 4: " "
+      LayoutMenuList {SELECT} at (55,0) size 74x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 72x18
           LayoutText (anonymous) at (4,1) size 52x16
             text run at (4,1) width 52: "Goodbye"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
index e60f3e8..1d8b87e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.txt
index 9103535..89d4557 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label01-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 639x19
         text run at (0,0) width 639: "In the selection list below, the text 'The label for this element is \"1\"' should appear, and not the character '1'"
       LayoutBR {BR} at (638,15) size 1x0
-      LayoutMenuList {SELECT} at (0,20) size 201x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 199x18
+      LayoutMenuList {SELECT} at (0,20) size 199x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 197x18
           LayoutText (anonymous) at (4,1) size 177x16
             text run at (4,1) width 177: "the label for this element is \"1\""
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
index 9efbdbc..1da9f4f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.txt
index 615d756..dd9ecff 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label02-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 283x19
         text run at (0,0) width 283: "With the label empty, the enclosing text is used."
       LayoutBR {BR} at (282,15) size 1x0
-      LayoutMenuList {SELECT} at (0,20) size 325x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 323x18
+      LayoutMenuList {SELECT} at (0,20) size 323x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 321x18
           LayoutText (anonymous) at (4,1) size 301x16
             text run at (4,1) width 301: "empty label should display empty string to match IE"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
index 1f84c27..c3de94145 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.txt
index 96bf681..42a1545 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label03-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 412x19
         text run at (0,0) width 412: "When the label contains only white space, the containing text is used."
       LayoutBR {BR} at (412,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 358x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 356x18
+      LayoutMenuList {SELECT} at (0,20) size 356x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 354x18
           LayoutText (anonymous) at (4,1) size 334x16
             text run at (4,1) width 334: "white space label should display empty string to match IE"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
index 328fb62..5a127beb 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.txt
index 0be5668d..765ea15 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label04-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 565x19
         text run at (0,0) width 565: "The label attribute appears, but is missing the equals value piece, so the containing text is used."
       LayoutBR {BR} at (565,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 484x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 482x18
+      LayoutMenuList {SELECT} at (0,20) size 482x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 480x18
           LayoutText (anonymous) at (4,1) size 460x16
             text run at (4,1) width 460: "the label attribute is mentioned but no value is specified; this text should appear"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
index aea8dc5..1a5ddaba 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.txt
index 8b3c600..6c628f78 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label06-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 685x19
         text run at (0,0) width 685: "The select item below has a label specified, and no enclosed text. There should be no text shown in the select box."
       LayoutBR {BR} at (685,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,20) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
index 8f1ccac6..dbf8fbb 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.txt
index 3a2070f..cf5f1af 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/HTMLOptionElement_label07-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 776x19
         text run at (0,0) width 776: "The select item below has a label specified, and enclosed text that is whitespace. There should be no text shown in the select box."
       LayoutBR {BR} at (776,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,20) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.png
index 89455ab..6f303c3 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.txt
index 6f834bd5..66f5ade 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/basic-selects-expected.txt
@@ -6,169 +6,169 @@
       LayoutBlockFlow {DIV} at (0,0) size 784x520 [border: (1px solid #FF0000)]
         LayoutText {#text} at (1,1) size 156x19
           text run at (1,1) width 156: "Whitespace in option text:"
-        LayoutMenuList {SELECT} at (157,1) size 49x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 47x18
+        LayoutMenuList {SELECT} at (157,1) size 47x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 45x18
             LayoutText (anonymous) at (4,1) size 25x16
               text run at (4,1) width 25: "f o o"
-        LayoutText {#text} at (206,1) size 7x19
-          text run at (206,1) width 7: "a"
-        LayoutMenuList {SELECT} at (213,1) size 49x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 47x18
+        LayoutText {#text} at (204,1) size 7x19
+          text run at (204,1) width 7: "a"
+        LayoutMenuList {SELECT} at (211,1) size 47x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 45x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutText {#text} at (262,1) size 8x19
-          text run at (262,1) width 8: "b"
-        LayoutBR {BR} at (270,1) size 0x19
+        LayoutText {#text} at (258,1) size 8x19
+          text run at (258,1) width 8: "b"
+        LayoutBR {BR} at (266,1) size 0x19
         LayoutBR {BR} at (1,19) size 0x19
         LayoutText {#text} at (1,37) size 128x19
           text run at (1,37) width 128: "Simple select control:"
-        LayoutMenuList {SELECT} at (129,37) size 42x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 40x18
+        LayoutMenuList {SELECT} at (129,37) size 40x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 38x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (171,37) size 7x19
-          text run at (171,37) width 7: "a"
-        LayoutMenuList {SELECT} at (178,37) size 42x20 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 40x18
+        LayoutText {#text} at (169,37) size 7x19
+          text run at (169,37) width 7: "a"
+        LayoutMenuList {SELECT} at (176,37) size 40x20 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 38x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (220,37) size 8x19
-          text run at (220,37) width 8: "b"
-        LayoutBR {BR} at (228,37) size 0x19
+        LayoutText {#text} at (216,37) size 8x19
+          text run at (216,37) width 8: "b"
+        LayoutBR {BR} at (224,37) size 0x19
         LayoutBR {BR} at (1,55) size 0x19
         LayoutText {#text} at (1,73) size 181x19
           text run at (1,73) width 181: "Line-height should be ignored:"
-        LayoutMenuList {SELECT} at (182,73) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 39x18
+        LayoutMenuList {SELECT} at (182,73) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (223,73) size 7x19
-          text run at (223,73) width 7: "a"
-        LayoutMenuList {SELECT} at (230,73) size 42x20 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 40x18
+        LayoutText {#text} at (221,73) size 7x19
+          text run at (221,73) width 7: "a"
+        LayoutMenuList {SELECT} at (228,73) size 40x20 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 38x18
             LayoutText (anonymous) at (4,1) size 18x16
               text run at (4,1) width 18: "bar"
-        LayoutText {#text} at (272,73) size 8x19
-          text run at (272,73) width 8: "b"
-        LayoutBR {BR} at (280,73) size 0x19
+        LayoutText {#text} at (268,73) size 8x19
+          text run at (268,73) width 8: "b"
+        LayoutBR {BR} at (276,73) size 0x19
         LayoutBR {BR} at (1,91) size 0x19
         LayoutText {#text} at (1,113) size 414x19
           text run at (1,113) width 414: "Padding should be respected, the arrow button shouldn't change size:"
-        LayoutMenuList {SELECT} at (415,109) size 49x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (5,5) size 39x18
+        LayoutMenuList {SELECT} at (415,109) size 47x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (5,5) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (464,113) size 7x19
-          text run at (464,113) width 7: "a"
-        LayoutMenuList {SELECT} at (471,109) size 49x28 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (5,5) size 39x18
+        LayoutText {#text} at (462,113) size 7x19
+          text run at (462,113) width 7: "a"
+        LayoutMenuList {SELECT} at (469,109) size 47x28 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (5,5) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (520,113) size 8x19
-          text run at (520,113) width 8: "b"
-        LayoutBR {BR} at (528,113) size 0x19
+        LayoutText {#text} at (516,113) size 8x19
+          text run at (516,113) width 8: "b"
+        LayoutBR {BR} at (524,113) size 0x19
         LayoutBR {BR} at (1,135) size 0x19
         LayoutText {#text} at (1,160) size 171x19
           text run at (1,160) width 171: "Border should be respected:"
-        LayoutMenuList {SELECT} at (172,153) size 55x34 [bgcolor=#DDDDDD] [border: (8px solid #33CCFF)]
-          LayoutBlockFlow (anonymous) at (8,8) size 39x18
+        LayoutMenuList {SELECT} at (172,153) size 53x34 [bgcolor=#DDDDDD] [border: (8px solid #33CCFF)]
+          LayoutBlockFlow (anonymous) at (8,8) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (227,160) size 7x19
-          text run at (227,160) width 7: "a"
-        LayoutMenuList {SELECT} at (234,153) size 55x34 [color=#808080] [bgcolor=#DDDDDD] [border: (8px solid #33CCFF)]
-          LayoutBlockFlow (anonymous) at (8,8) size 39x18
+        LayoutText {#text} at (225,160) size 7x19
+          text run at (225,160) width 7: "a"
+        LayoutMenuList {SELECT} at (232,153) size 53x34 [color=#808080] [bgcolor=#DDDDDD] [border: (8px solid #33CCFF)]
+          LayoutBlockFlow (anonymous) at (8,8) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (289,160) size 8x19
-          text run at (289,160) width 8: "b"
-        LayoutBR {BR} at (297,160) size 0x19
+        LayoutText {#text} at (285,160) size 8x19
+          text run at (285,160) width 8: "b"
+        LayoutBR {BR} at (293,160) size 0x19
         LayoutBR {BR} at (1,185) size 0x19
         LayoutText {#text} at (1,211) size 111x19
           text run at (1,211) width 111: "Border + padding:"
-        LayoutMenuList {SELECT} at (112,203) size 57x36 [bgcolor=#DDDDDD] [border: (4px solid #33CCFF)]
-          LayoutBlockFlow (anonymous) at (9,9) size 39x18
+        LayoutMenuList {SELECT} at (112,203) size 55x36 [bgcolor=#DDDDDD] [border: (4px solid #33CCFF)]
+          LayoutBlockFlow (anonymous) at (9,9) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (169,211) size 7x19
-          text run at (169,211) width 7: "a"
-        LayoutMenuList {SELECT} at (176,203) size 57x36 [color=#808080] [bgcolor=#DDDDDD] [border: (4px solid #33CCFF)]
-          LayoutBlockFlow (anonymous) at (9,9) size 39x18
+        LayoutText {#text} at (167,211) size 7x19
+          text run at (167,211) width 7: "a"
+        LayoutMenuList {SELECT} at (174,203) size 55x36 [color=#808080] [bgcolor=#DDDDDD] [border: (4px solid #33CCFF)]
+          LayoutBlockFlow (anonymous) at (9,9) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (233,211) size 8x19
-          text run at (233,211) width 8: "b"
-        LayoutBR {BR} at (241,211) size 0x19
+        LayoutText {#text} at (229,211) size 8x19
+          text run at (229,211) width 8: "b"
+        LayoutBR {BR} at (237,211) size 0x19
         LayoutBR {BR} at (1,237) size 0x19
         LayoutText {#text} at (1,260) size 453x19
           text run at (1,260) width 453: "Height larger than font-size, button should grow, text baseline should center:"
-        LayoutMenuList {SELECT} at (453.67,255) size 41x30 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,6) size 39x18
+        LayoutMenuList {SELECT} at (453.67,255) size 39x30 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,6) size 37x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (494,260) size 8x19
-          text run at (494,260) width 8: "a"
-        LayoutMenuList {SELECT} at (501.67,255) size 41x30 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,6) size 39x18
+        LayoutText {#text} at (492,260) size 8x19
+          text run at (492,260) width 8: "a"
+        LayoutMenuList {SELECT} at (499.67,255) size 39x30 [color=#808080] [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,6) size 37x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutText {#text} at (542,260) size 9x19
-          text run at (542,260) width 9: "b"
-        LayoutBR {BR} at (550,260) size 1x19
+        LayoutText {#text} at (538,260) size 9x19
+          text run at (538,260) width 9: "b"
+        LayoutBR {BR} at (546,260) size 1x19
         LayoutBR {BR} at (1,283) size 0x19
         LayoutText {#text} at (1,301) size 456x19
           text run at (1,301) width 456: "Height smaller than font-size, whole select shrinks but baseline is unchanged:"
-        LayoutMenuList {SELECT} at (457,301) size 42x3 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 40x18
+        LayoutMenuList {SELECT} at (457,301) size 40x3 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 38x18
             LayoutText (anonymous) at (4,1) size 17x16
               text run at (4,1) width 17: "foo"
-        LayoutText {#text} at (499,301) size 7x19
-          text run at (499,301) width 7: "a"
-        LayoutMenuList {SELECT} at (506,301) size 42x3 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 40x18
+        LayoutText {#text} at (497,301) size 7x19
+          text run at (497,301) width 7: "a"
+        LayoutMenuList {SELECT} at (504,301) size 40x3 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 38x18
             LayoutText (anonymous) at (4,1) size 18x16
               text run at (4,1) width 18: "bar"
-        LayoutText {#text} at (548,301) size 8x19
-          text run at (548,301) width 8: "b"
-        LayoutBR {BR} at (556,301) size 0x19
+        LayoutText {#text} at (544,301) size 8x19
+          text run at (544,301) width 8: "b"
+        LayoutBR {BR} at (552,301) size 0x19
         LayoutBR {BR} at (1,317) size 0x19
         LayoutText {#text} at (1,333) size 159x19
           text run at (1,333) width 159: "select control with size=0: "
         LayoutBR {BR} at (160,333) size 0x19
-        LayoutMenuList {SELECT} at (1,351) size 203x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 201x18
+        LayoutMenuList {SELECT} at (1,351) size 201x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 199x18
             LayoutText (anonymous) at (4,1) size 78x16
               text run at (4,1) width 78: "Future Series"
-        LayoutText {#text} at (204,351) size 4x19
-          text run at (204,351) width 4: " "
+        LayoutText {#text} at (202,351) size 4x19
+          text run at (202,351) width 4: " "
         LayoutBR {BR} at (0,0) size 0x0
         LayoutText {#text} at (1,369) size 159x19
           text run at (1,369) width 159: "select control with size=1: "
         LayoutBR {BR} at (160,369) size 0x19
-        LayoutMenuList {SELECT} at (1,387) size 203x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 201x18
+        LayoutMenuList {SELECT} at (1,387) size 201x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 199x18
             LayoutText (anonymous) at (4,1) size 78x16
               text run at (4,1) width 78: "Future Series"
-        LayoutText {#text} at (204,387) size 4x19
-          text run at (204,387) width 4: " "
+        LayoutText {#text} at (202,387) size 4x19
+          text run at (202,387) width 4: " "
         LayoutBR {BR} at (0,0) size 0x0
         LayoutText {#text} at (1,405) size 159x19
           text run at (1,405) width 159: "Non-styled select control: "
         LayoutBR {BR} at (160,405) size 0x19
-        LayoutMenuList {SELECT} at (1,423) size 223x40 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (11,11) size 201x18
+        LayoutMenuList {SELECT} at (1,423) size 221x40 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (11,11) size 199x18
             LayoutText (anonymous) at (4,1) size 78x16
               text run at (4,1) width 78: "Future Series"
-        LayoutText {#text} at (224,433) size 4x19
-          text run at (224,433) width 4: " "
+        LayoutText {#text} at (222,433) size 4x19
+          text run at (222,433) width 4: " "
         LayoutBR {BR} at (0,0) size 0x0
         LayoutText {#text} at (1,461) size 278x19
           text run at (1,461) width 278: "Styled select control with large border-radius: "
         LayoutBR {BR} at (278,461) size 1x19
-        LayoutMenuList {SELECT} at (1,479) size 223x40 [bgcolor=#33CCFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (11,11) size 201x18
+        LayoutMenuList {SELECT} at (1,479) size 221x40 [bgcolor=#33CCFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (11,11) size 199x18
             LayoutText (anonymous) at (4,1) size 78x16
               text run at (4,1) width 78: "Future Series"
-        LayoutText {#text} at (224,489) size 4x19
-          text run at (224,489) width 4: " "
+        LayoutText {#text} at (222,489) size 4x19
+          text run at (222,489) width 4: " "
         LayoutBR {BR} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
index 883d7c1f..209d07d 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.txt
index 12698ff..1146dfa2 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/disabled-select-change-index-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 60x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutMenuList {SELECT} at (0,0) size 58x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 60x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,15) size 0x0
+      LayoutMenuList {SELECT} at (0,20) size 58x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,35) size 0x0
-      LayoutMenuList {SELECT} at (0,40) size 60x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,35) size 0x0
+      LayoutMenuList {SELECT} at (0,40) size 58x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,55) size 0x0
-      LayoutMenuList {SELECT} at (0,60) size 60x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,55) size 0x0
+      LayoutMenuList {SELECT} at (0,60) size 58x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,75) size 0x0
+      LayoutBR {BR} at (58,75) size 0x0
       LayoutBR {BR} at (56,112) size 1x0
       LayoutBR {BR} at (56,148) size 1x0
       LayoutBR {BR} at (56,184) size 1x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/input-select-after-resize-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
index 42edcc4..f8b5cad 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/input-select-after-resize-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png
index b1f8237..a700e7b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.txt
index 708312da..e744fb3 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-basic-expected.txt
@@ -3,110 +3,116 @@
 layer at (0,0) size 800x525
   LayoutBlockFlow {HTML} at (0,0) size 800x525
     LayoutBlockFlow {BODY} at (8,8) size 784x509
-      LayoutMenuList {SELECT} at (4,4) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutMenuList {SELECT} at (4,4) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,4) size 4x19
-        text run at (49,4) width 4: " "
-      LayoutBR {BR} at (53,4) size 0x19
-      LayoutMenuList {SELECT} at (4,32) size 41x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,9) size 39x18
+      LayoutText {#text} at (47,4) size 4x19
+        text run at (47,4) width 4: " "
+      LayoutBR {BR} at (51,4) size 0x19
+      LayoutMenuList {SELECT} at (4,32) size 39x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,9) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,40) size 4x19
-        text run at (49,40) width 4: " "
-      LayoutMenuList {SELECT} at (57,40) size 47x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (47,40) size 4x19
+        text run at (47,40) width 4: " "
+      LayoutMenuList {SELECT} at (55,40) size 45x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (108,40) size 4x19
-        text run at (108,40) width 4: " "
-      LayoutMenuList {SELECT} at (116,40) size 41x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (104,40) size 4x19
+        text run at (104,40) width 4: " "
+      LayoutMenuList {SELECT} at (112,40) size 39x28 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (161,40) size 4x19
-        text run at (161,40) width 4: " "
-      LayoutMenuList {SELECT} at (169,40) size 47x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (7,1) size 39x18
+      LayoutText {#text} at (155,40) size 4x19
+        text run at (155,40) width 4: " "
+      LayoutMenuList {SELECT} at (163,40) size 45x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (7,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (220,40) size 4x19
-        text run at (220,40) width 4: " "
-      LayoutBR {BR} at (224,40) size 0x19
-      LayoutMenuList {SELECT} at (4,76) size 45x24 [bgcolor=#DDDDDD] [border: (3px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (3,3) size 39x18
+      LayoutText {#text} at (212,40) size 4x19
+        text run at (212,40) width 4: " "
+      LayoutBR {BR} at (216,40) size 0x19
+      LayoutMenuList {SELECT} at (4,76) size 43x24 [bgcolor=#DDDDDD] [border: (3px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (3,3) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (53,78) size 4x19
-        text run at (53,78) width 4: " "
-      LayoutMenuList {SELECT} at (61,78) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (51,78) size 4x19
+        text run at (51,78) width 4: " "
+      LayoutMenuList {SELECT} at (59,78) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (106,78) size 4x19
-        text run at (106,78) width 4: " "
-      LayoutBR {BR} at (110,78) size 0x19
-      LayoutMenuList {SELECT} at (4,115) size 41x20 [color=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (102,78) size 4x19
+        text run at (102,78) width 4: " "
+      LayoutBR {BR} at (106,78) size 0x19
+      LayoutMenuList {SELECT} at (4,115) size 39x20 [color=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,115) size 4x19
-        text run at (49,115) width 4: " "
-      LayoutBlockFlow {DIV} at (53,104) size 64x42 [bgcolor=#DBB102]
-        LayoutMenuList {SELECT} at (12,12) size 40x18
-          LayoutBlockFlow (anonymous) at (0,0) size 40x18
+      LayoutText {#text} at (47,115) size 4x19
+        text run at (47,115) width 4: " "
+      LayoutBlockFlow {DIV} at (51,104) size 62x42 [bgcolor=#DBB102]
+        LayoutMenuList {SELECT} at (12,12) size 38x18
+          LayoutBlockFlow (anonymous) at (0,0) size 38x18
             LayoutText (anonymous) at (4,1) size 18x16
               text run at (4,1) width 18: "bar"
-      LayoutText {#text} at (117,115) size 4x19
-        text run at (117,115) width 4: " "
-      LayoutBR {BR} at (121,115) size 0x19
-      LayoutMenuList {SELECT} at (4,150) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (113,115) size 4x19
+        text run at (113,115) width 4: " "
+      LayoutBR {BR} at (117,115) size 0x19
+      LayoutMenuList {SELECT} at (4,150) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,150) size 4x19
-        text run at (49,150) width 4: " "
-      LayoutBR {BR} at (53,150) size 0x19
-      LayoutMenuList {SELECT} at (4,184) size 46x22 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x21
+      LayoutText {#text} at (47,150) size 4x19
+        text run at (47,150) width 4: " "
+      LayoutBR {BR} at (51,150) size 0x19
+      LayoutMenuList {SELECT} at (4,184) size 44x22 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x21
           LayoutText (anonymous) at (4,1) size 22x18
             text run at (4,1) width 22: "foo"
-      LayoutText {#text} at (54,186) size 4x19
-        text run at (54,186) width 4: " "
-      LayoutMenuList {SELECT} at (62,180) size 52x27 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 50x26
+      LayoutText {#text} at (52,186) size 4x19
+        text run at (52,186) width 4: " "
+      LayoutMenuList {SELECT} at (60,180) size 50x27 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 48x26
           LayoutText (anonymous) at (4,1) size 28x23
             text run at (4,1) width 28: "foo"
-      LayoutText {#text} at (118,186) size 4x19
-        text run at (118,186) width 4: " "
-      LayoutMenuList {SELECT} at (126,178) size 57x31 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 55x30
+      LayoutText {#text} at (114,186) size 4x19
+        text run at (114,186) width 4: " "
+      LayoutMenuList {SELECT} at (122,178) size 55x31 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 53x30
           LayoutText (anonymous) at (4,1) size 33x27
             text run at (4,1) width 33: "foo"
-      LayoutText {#text} at (187,186) size 4x19
-        text run at (187,186) width 4: " "
-      LayoutMenuList {SELECT} at (195,186) size 126x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 124x18
+      LayoutText {#text} at (181,186) size 4x19
+        text run at (181,186) width 4: " "
+      LayoutMenuList {SELECT} at (189,186) size 124x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 122x18
           LayoutText (anonymous) at (4,1) size 102x16
             text run at (4,1) width 102: "September 2016"
-      LayoutText {#text} at (325,186) size 4x19
-        text run at (325,186) width 4: " "
-      LayoutBR {BR} at (329,186) size 0x19
-      LayoutMenuList {SELECT} at (6,230) size 63x27 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 61x26
+      LayoutText {#text} at (317,186) size 4x19
+        text run at (317,186) width 4: " "
+      LayoutBR {BR} at (321,186) size 0x19
+      LayoutMenuList {SELECT} at (6,230) size 60x27 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 58x26
           LayoutText (anonymous) at (6,1) size 28x23
             text run at (6,1) width 28: "foo"
-      LayoutText {#text} at (75,236) size 4x19
-        text run at (75,236) width 4: " "
-      LayoutMenuList {SELECT} at (87,221) size 85x40 [bgcolor=#DDDDDD] [border: (2px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (2,2) size 81x37
+      LayoutText {#text} at (72,236) size 4x19
+        text run at (72,236) width 4: " "
+      LayoutMenuList {SELECT} at (84,221) size 81x40 [bgcolor=#DDDDDD] [border: (2px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (2,2) size 77x37
           LayoutText (anonymous) at (8,2) size 37x32
             text run at (8,2) width 37: "foo"
-      LayoutText {#text} at (180,236) size 4x19
-        text run at (180,236) width 4: " "
-      LayoutBR {BR} at (184,236) size 0x19
+      LayoutText {#text} at (173,236) size 4x19
+        text run at (173,236) width 4: " "
+      LayoutMenuList {SELECT} at (179,241) size 33x14 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 31x12
+          LayoutText (anonymous) at (2,0) size 14x12
+            text run at (2,0) width 14: "foo"
+      LayoutText {#text} at (214,236) size 4x19
+        text run at (214,236) width 4: " "
+      LayoutBR {BR} at (218,236) size 0x19
       LayoutText {#text} at (208,283) size 4x19
         text run at (208,283) width 4: " "
       LayoutBR {BR} at (212,283) size 0x19
@@ -129,31 +135,31 @@
       LayoutText {#text} at (68,443) size 4x19
         text run at (68,443) width 4: " "
       LayoutBR {BR} at (72,443) size 0x19
-      LayoutMenuList {SELECT} at (4,478) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (49,478) size 4x19
-        text run at (49,478) width 4: " "
-      LayoutMenuList {SELECT} at (57,476) size 45x24 [bgcolor=#DDDDDD] [border: (3px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (3,3) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (106,478) size 4x19
-        text run at (106,478) width 4: " "
-      LayoutMenuList {SELECT} at (114,471) size 55x34 [bgcolor=#DDDDDD] [border: (8px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (8,8) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (173,478) size 4x19
-        text run at (173,478) width 4: " "
-      LayoutMenuList {SELECT} at (181,478) size 41x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (226,478) size 4x19
-        text run at (226,478) width 4: " "
-      LayoutBR {BR} at (230,478) size 0x19
+      LayoutMenuList {SELECT} at (4,478) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (47,478) size 4x19
+        text run at (47,478) width 4: " "
+      LayoutMenuList {SELECT} at (55,476) size 43x24 [bgcolor=#DDDDDD] [border: (3px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (3,3) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (102,478) size 4x19
+        text run at (102,478) width 4: " "
+      LayoutMenuList {SELECT} at (110,471) size 53x34 [bgcolor=#DDDDDD] [border: (8px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (8,8) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (167,478) size 4x19
+        text run at (167,478) width 4: " "
+      LayoutMenuList {SELECT} at (175,478) size 39x20 [bgcolor=#DDDDDD] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (218,478) size 4x19
+        text run at (218,478) width 4: " "
+      LayoutBR {BR} at (222,478) size 0x19
 layer at (12,281) size 200x25 clip at (13,282) size 183x23 scrollHeight 51
   LayoutListBox {SELECT} at (4,273) size 200x25 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
     LayoutBlockFlow {OPTION} at (1,1) size 183x17
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
index 522bee5..e9cdd30a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.txt
index acc56fd0..797a8e4 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-appearance-rtl-expected.txt
@@ -62,8 +62,8 @@
           LayoutText {#text} at (0,0) size 108x18
             text run at (0,0) width 108 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
         LayoutBlockFlow (anonymous) at (0,39) size 784x20
-          LayoutMenuList {SELECT} at (0,0) size 115x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 113x18
+          LayoutMenuList {SELECT} at (0,0) size 113x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 111x18
               LayoutText (anonymous) at (4,1) size 82x16
                 text run at (4,1) width 82 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
           LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
index 0395376..7311e05 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.txt
index 9facd7269..fea1e0c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-deselect-update-expected.txt
@@ -5,8 +5,8 @@
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutText {#text} at (0,0) size 68x19
         text run at (0,0) width 68: "Test result: "
-      LayoutMenuList {SELECT} at (67.88,0) size 60x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutMenuList {SELECT} at (67.88,0) size 58x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-narrow-width-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-narrow-width-expected.txt
index 414c070..87f639a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-narrow-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-narrow-width-expected.txt
@@ -7,12 +7,12 @@
         text run at (0,0) width 478: "This tests that select elements with a narrow width (1px) are rendered correctly."
       LayoutBR {BR} at (477,15) size 1x0
       LayoutMenuList {SELECT} at (0,20) size 2x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutBR {BR} at (2,35) size 0x0
       LayoutMenuList {SELECT} at (0,40) size 2x20 [bgcolor=#0000FF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
index d865ea8..cb550b5 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.txt
index b5fd60a..667b19f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-no-overflow-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 253x17 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 251x15
+      LayoutMenuList {SELECT} at (0,0) size 251x17 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 249x15
           LayoutText (anonymous) at (4,1) size 229x13
             text run at (4,1) width 229: "No overflow should be allowed on popup menus!"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
index dc2670a..22802aa 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.txt
index 58bd274..9b7da06 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-restrict-line-height-expected.txt
@@ -6,7 +6,7 @@
       LayoutText {#text} at (0,0) size 397x19
         text run at (0,0) width 397: "This tests that we don't honor line-height for styled popup buttons."
       LayoutBR {BR} at (397,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 205x20 [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 203x18
+      LayoutMenuList {SELECT} at (0,20) size 203x20 [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 201x18
           LayoutText (anonymous) at (4,1) size 181x16
             text run at (4,1) width 181: "This text should not be clipped."
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
index 9b793be..6011daa 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.txt
index 93a0daf6..082d750a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-separator-painting-expected.txt
@@ -5,8 +5,8 @@
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {DIV} at (0,0) size 784x6 [border: (3px solid #FFFFFF)]
       LayoutBlockFlow (anonymous) at (0,6) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #008000)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #008000)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.png
index 2260289..ea4d75e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.txt
index 692ed18..9f9c198 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-style-color-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 64x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutMenuList {SELECT} at (0,0) size 62x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 40x16
             text run at (4,1) width 40: "Default"
-      LayoutText {#text} at (64,0) size 4x19
-        text run at (64,0) width 4: " "
-      LayoutMenuList {SELECT} at (68,0) size 47x20 [color=#FF0000] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 45x18
+      LayoutText {#text} at (62,0) size 4x19
+        text run at (62,0) width 4: " "
+      LayoutMenuList {SELECT} at (66,0) size 45x20 [color=#FF0000] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 43x18
           LayoutText (anonymous) at (4,1) size 23x16
             text run at (4,1) width 23: "Red"
-      LayoutText {#text} at (115,0) size 4x19
-        text run at (115,0) width 4: " "
-      LayoutMenuList {SELECT} at (119,0) size 118x20 [bgcolor=#008000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 116x18
+      LayoutText {#text} at (111,0) size 4x19
+        text run at (111,0) width 4: " "
+      LayoutMenuList {SELECT} at (115,0) size 116x20 [bgcolor=#008000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 114x18
           LayoutText (anonymous) at (4,1) size 94x16
             text run at (4,1) width 94: "Default on green"
-      LayoutText {#text} at (237,0) size 4x19
-        text run at (237,0) width 4: " "
-      LayoutMenuList {SELECT} at (241,0) size 101x20 [color=#FF0000] [bgcolor=#008000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 99x18
+      LayoutText {#text} at (231,0) size 4x19
+        text run at (231,0) width 4: " "
+      LayoutMenuList {SELECT} at (235,0) size 99x20 [color=#FF0000] [bgcolor=#008000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 97x18
           LayoutText (anonymous) at (4,1) size 77x16
             text run at (4,1) width 77: "Red on green"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
index cdaff508..8503182 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-update-text-popup-expected.txt
@@ -1,10 +1,10 @@
 Tests <select> text update when popup is visible and selectionIndex changes.
 Needs run-layout-test.
 
-layer at (0,0) size 33x20 backgroundClip at (8,50) size 33x20 clip at (8,50) size 33x20
-  LayoutBlockFlow (positioned) {DIV} at (8,50) size 33x20
-    LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-      LayoutBlockFlow (anonymous) at (1,1) size 31x18
+layer at (0,0) size 31x20 backgroundClip at (8,50) size 31x20 clip at (8,50) size 31x20
+  LayoutBlockFlow (positioned) {DIV} at (8,50) size 31x20
+    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+      LayoutBlockFlow (anonymous) at (1,1) size 29x18
         LayoutText (anonymous) at (4,1) size 9x16
           text run at (4,1) width 9: "C"
     LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.png
index bc8b584..5e2c3c6b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.txt
index b084541..d2d03a15 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/menulist-width-change-expected.txt
@@ -10,8 +10,8 @@
         LayoutText {#text} at (0,20) size 348x19
           text run at (0,20) width 348: "that the select automatically recalculates the correct width."
         LayoutBR {BR} at (348,35) size 0x0
-        LayoutMenuList {SELECT} at (0,40) size 136x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 134x18
+        LayoutMenuList {SELECT} at (0,40) size 134x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 132x18
             LayoutText (anonymous) at (4,1) size 31x16
               text run at (4,1) width 31: "Short"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
index d5e2dad..89cd23d 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.txt
index c9e12570..59ef4cb8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/optgroup-rendering-expected.txt
@@ -7,8 +7,8 @@
         LayoutText {#text} at (80,323) size 4x19
           text run at (80,323) width 4: " "
         LayoutBR {BR} at (84,323) size 0x19
-        LayoutMenuList {SELECT} at (0,343) size 72x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 70x18
+        LayoutMenuList {SELECT} at (0,343) size 70x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 68x18
             LayoutText (anonymous) at (4,1) size 32x16
               text run at (4,1) width 32: "Three"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.png
index 4a562c3..d6f081b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.txt
index 3966b8d..909d2ce 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-script-expected.txt
@@ -11,8 +11,8 @@
         text run at (0,20) width 100: "TEST FAILED: "
         text run at (99,20) width 298: "If the popup menu says \"document.write('Text')\". "
       LayoutBR {BR} at (396,35) size 1x0
-      LayoutMenuList {SELECT} at (0,40) size 48x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 46x18
+      LayoutMenuList {SELECT} at (0,40) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 44x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "Text"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
index b63e53b..795cb4a8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.txt
index 420a718..d1d4a7f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-strip-whitespace-expected.txt
@@ -17,24 +17,24 @@
         LayoutBR {BR} at (0,162) size 0x19
         LayoutText {#text} at (0,182) size 280x19
           text run at (0,182) width 280: "Five Spaces (with leading/trailing whitespace): "
-        LayoutMenuList {SELECT} at (280,182) size 95x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 93x18
+        LayoutMenuList {SELECT} at (280,182) size 93x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 91x18
             LayoutText (anonymous) at (4,1) size 71x16
               text run at (4,1) width 71: "Five Spaces"
-        LayoutBR {BR} at (375,197) size 0x0
+        LayoutBR {BR} at (373,197) size 0x0
         LayoutBR {BR} at (0,202) size 0x19
         LayoutText {#text} at (0,222) size 265x19
           text run at (0,222) width 265: "Five Tabs (with leading/trailing whitespace): "
-        LayoutMenuList {SELECT} at (264.88,222) size 78x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 76x18
+        LayoutMenuList {SELECT} at (264.88,222) size 76x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 74x18
             LayoutText (anonymous) at (4,1) size 54x16
               text run at (4,1) width 54: "Five Tabs"
-        LayoutBR {BR} at (342,237) size 1x0
+        LayoutBR {BR} at (340,237) size 1x0
         LayoutBR {BR} at (0,242) size 0x19
         LayoutText {#text} at (0,262) size 121x19
           text run at (0,262) width 121: "Mixed Whitespace: "
-        LayoutMenuList {SELECT} at (121,262) size 78x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 76x18
+        LayoutMenuList {SELECT} at (121,262) size 76x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 74x18
             LayoutText (anonymous) at (4,1) size 54x16
               text run at (4,1) width 54: "Five Tabs"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-text-clip-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-text-clip-expected.png
index f142354..2528f08a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-text-clip-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/option-text-clip-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-align-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-align-expected.png
index 1ea393f..cee76f1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-align-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-align-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-autofilled-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-autofilled-expected.png
index afcc3bf0..e007508 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-autofilled-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-autofilled-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-background-none-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-background-none-expected.png
index 89b451a4..77e4e64 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-background-none-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-background-none-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.png
index e60ba5b..67bf96a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.txt
index db1eb1b..c3dd1ec0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-baseline-expected.txt
@@ -6,43 +6,43 @@
       LayoutText {#text} at (0,0) size 444x19
         text run at (0,0) width 444: "This tests that empty select controls and buttons have the correct baseline."
       LayoutBR {BR} at (444,15) size 0x0
-      LayoutMenuList {SELECT} at (0,21) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,21) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
-      LayoutText {#text} at (24,21) size 29x19
-        text run at (24,21) width 29: " test "
-      LayoutMenuList {SELECT} at (53,21) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutText {#text} at (22,21) size 29x19
+        text run at (22,21) width 29: " test "
+      LayoutMenuList {SELECT} at (51,21) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (99,21) size 4x19
-        text run at (99,21) width 4: " "
-      LayoutMenuList {SELECT} at (103,21) size 24x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutText {#text} at (95,21) size 4x19
+        text run at (95,21) width 4: " "
+      LayoutMenuList {SELECT} at (99,21) size 22x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
-      LayoutText {#text} at (127,21) size 29x19
-        text run at (127,21) width 29: " test "
-      LayoutMenuList {SELECT} at (156,21) size 46x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutText {#text} at (121,21) size 29x19
+        text run at (121,21) width 29: " test "
+      LayoutMenuList {SELECT} at (150,21) size 44x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (202,21) size 4x19
-        text run at (202,21) width 4: " "
-      LayoutButton {BUTTON} at (206,33) size 16x6 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-      LayoutText {#text} at (222,21) size 4x19
-        text run at (222,21) width 4: " "
-      LayoutButton {BUTTON} at (226,20) size 38x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (194,21) size 4x19
+        text run at (194,21) width 4: " "
+      LayoutButton {BUTTON} at (198,33) size 16x6 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (214,21) size 4x19
+        text run at (214,21) width 4: " "
+      LayoutButton {BUTTON} at (218,20) size 38x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 22x16
           LayoutText {#text} at (0,0) size 22x16
             text run at (0,0) width 22: "test"
-      LayoutText {#text} at (264,21) size 4x19
-        text run at (264,21) width 4: " "
-      LayoutButton {BUTTON} at (268,33) size 16x6 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
-      LayoutText {#text} at (284,21) size 4x19
-        text run at (284,21) width 4: " "
-      LayoutButton {BUTTON} at (288,20) size 38x22 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (256,21) size 4x19
+        text run at (256,21) width 4: " "
+      LayoutButton {BUTTON} at (260,33) size 16x6 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (276,21) size 4x19
+        text run at (276,21) width 4: " "
+      LayoutButton {BUTTON} at (280,20) size 38x22 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 22x16
           LayoutText {#text} at (0,0) size 22x16
             text run at (0,0) width 22: "test"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
index 07945f6b..339a210 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.txt
index 3dab38cc..58af1f6a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-change-listbox-to-popup-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 417x19
         text run at (0,0) width 417: "This tests that you can dynamically change a list box to a popup menu"
       LayoutBR {BR} at (417,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 227x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 225x18
+      LayoutMenuList {SELECT} at (0,20) size 225x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 223x18
           LayoutText (anonymous) at (4,1) size 203x16
             text run at (4,1) width 203: "This should turn into a popup menu"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
index e422356..e980b1e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
index cc7a865..9ed1f78f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x90
   LayoutBlockFlow {HTML} at (0,0) size 800x90
     LayoutBlockFlow {BODY} at (8,8) size 784x66
-      LayoutTable {TABLE} at (0,0) size 56x30 [border: (1px outset #808080)]
-        LayoutTableSection {TBODY} at (1,1) size 54x28
-          LayoutTableRow {TR} at (0,2) size 54x24
-            LayoutTableCell {TD} at (2,2) size 50x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              LayoutMenuList {SELECT} at (2,2) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutTable {TABLE} at (0,0) size 54x30 [border: (1px outset #808080)]
+        LayoutTableSection {TBODY} at (1,1) size 52x28
+          LayoutTableRow {TR} at (0,2) size 52x24
+            LayoutTableCell {TD} at (2,2) size 48x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              LayoutMenuList {SELECT} at (2,2) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 42x18
                   LayoutText (anonymous) at (4,1) size 22x16
                     text run at (4,1) width 22: "test"
       LayoutBlockFlow {P} at (0,46) size 784x20
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
index f2f51eb2..f2119ac 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.txt
index 659bfdda..f48a9ea 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-disabled-appearance-expected.txt
@@ -16,14 +16,14 @@
         LayoutText {#text} at (706,0) size 5x19
           text run at (706,0) width 5: "."
       LayoutBlockFlow {P} at (0,36) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 163x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 161x18
+        LayoutMenuList {SELECT} at (0,0) size 161x20 [color=#808080] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 159x18
             LayoutText (anonymous) at (4,1) size 139x16
               text run at (4,1) width 139: "This text should be gray"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {P} at (0,72) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 169x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 167x18
+        LayoutMenuList {SELECT} at (0,0) size 167x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 165x18
             LayoutText (anonymous) at (4,1) size 145x16
               text run at (4,1) width 145: "This text should be black"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.png
index 9fcb68e..aefa5945 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.txt
index d6759ca..5ec9623f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-initial-position-expected.txt
@@ -25,29 +25,29 @@
       LayoutText {#text} at (0,273) size 86x19
         text run at (0,273) width 86: "initial selected:"
       LayoutBR {BR} at (86,288) size 0x0
-      LayoutMenuList {SELECT} at (0,293) size 158x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,293) size 156x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
-      LayoutText {#text} at (158,293) size 4x19
-        text run at (158,293) width 4: " "
-      LayoutBR {BR} at (162,308) size 0x0
+      LayoutText {#text} at (156,293) size 4x19
+        text run at (156,293) width 4: " "
+      LayoutBR {BR} at (160,308) size 0x0
       LayoutText {#text} at (0,313) size 152x19
         text run at (0,313) width 152: "dynamic selected change:"
       LayoutBR {BR} at (152,328) size 0x0
-      LayoutMenuList {SELECT} at (0,333) size 158x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,333) size 156x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
-      LayoutText {#text} at (158,333) size 4x19
-        text run at (158,333) width 4: " "
+      LayoutText {#text} at (156,333) size 4x19
+        text run at (156,333) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,353) size 200x19
         text run at (0,353) width 200: "dynamic insert of selected option:"
       LayoutBR {BR} at (200,368) size 0x0
-      LayoutMenuList {SELECT} at (0,373) size 158x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,373) size 156x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.png
index 0e747526..ce89deef 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.txt
index 01cf3c7a2..86d0a60 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-selected-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 274x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 272x18
+      LayoutMenuList {SELECT} at (0,0) size 272x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 270x18
           LayoutText (anonymous) at (4,1) size 180x16
             text run at (4,1) width 180: "should see this option selected"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.png
index 86d4c8e0..c81e991f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.txt
index 0edd21b2..dda7415 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-size-invalid-expected.txt
@@ -7,8 +7,8 @@
         text run at (0,0) width 780: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match the style"
         text run at (0,20) width 355: "rule that determines whether to use a menu list or a list box."
       LayoutBR {BR} at (355,35) size 0x0
-      LayoutMenuList {SELECT} at (0,40) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,40) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.png
index 6a179e1..6f0ae2f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.txt
index f729ac6..aa6e959 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-style-expected.txt
@@ -7,67 +7,67 @@
         text run at (0,0) width 239: "This tests that styled popups look right. "
         text run at (239,0) width 286: "(Aqua for now- later, we will honor the styling)."
       LayoutBR {BR} at (524,15) size 1x0
-      LayoutMenuList {SELECT} at (0,20) size 46x20 [bgcolor=#FF0000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,20) size 44x20 [bgcolor=#FF0000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (46,20) size 4x19
-        text run at (46,20) width 4: " "
-      LayoutBR {BR} at (50,35) size 0x0
+      LayoutText {#text} at (44,20) size 4x19
+        text run at (44,20) width 4: " "
+      LayoutBR {BR} at (48,35) size 0x0
       LayoutText {#text} at (0,40) size 504x19
         text run at (0,40) width 504: "This tests that background color is white by default regardless of the parent element."
       LayoutBR {BR} at (504,55) size 0x0
-      LayoutInline {SPAN} at (0,0) size 60x29 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x29 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,60) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,60) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,60) size 4x19
-          text run at (51,60) width 4: " "
+        LayoutText {#text} at (49,60) size 4x19
+          text run at (49,60) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,80) size 594x19
         text run at (0,80) width 594: "This tests that background color is inherited from the parent if background-color:inherit is specified."
       LayoutBR {BR} at (594,95) size 0x0
-      LayoutInline {SPAN} at (0,0) size 60x29 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x29 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,100) size 46x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,100) size 44x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,100) size 4x19
-          text run at (51,100) width 4: " "
+        LayoutText {#text} at (49,100) size 4x19
+          text run at (49,100) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,120) size 612x19
         text run at (0,120) width 612: "This tests that background color is the same as the parent if background-color:transparent is specified."
       LayoutBR {BR} at (612,135) size 0x0
-      LayoutInline {SPAN} at (0,0) size 60x29 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x29 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,140) size 46x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,140) size 44x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,140) size 4x19
-          text run at (51,140) width 4: " "
+        LayoutText {#text} at (49,140) size 4x19
+          text run at (49,140) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,160) size 470x19
         text run at (0,160) width 470: "This tests that background is white if only background-image:none is specified."
       LayoutBR {BR} at (470,175) size 0x0
-      LayoutMenuList {SELECT} at (0,180) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,180) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (46,180) size 4x19
-        text run at (46,180) width 4: " "
-      LayoutBR {BR} at (50,195) size 0x0
+      LayoutText {#text} at (44,180) size 4x19
+        text run at (44,180) width 4: " "
+      LayoutBR {BR} at (48,195) size 0x0
       LayoutText {#text} at (0,200) size 396x19
         text run at (0,200) width 396: "This tests that the image specified for background-image is visible."
       LayoutBR {BR} at (396,215) size 0x0
-      LayoutMenuList {SELECT} at (0,220) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,220) size 44x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
index f09230f..52e8249 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.txt
index 114377e..ad86524 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-visual-hebrew-expected.txt
@@ -11,8 +11,8 @@
         LayoutText {#text} at (0,0) size 362x19
           text run at (0,0) width 362 LTR override: "Text on the pop-up and in the list should look like this: \x{5E8}\x{5D5}\x{5EA}\x{5E4}\x{5DB}"
       LayoutBlockFlow (anonymous) at (0,90) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 55x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 53x18
+        LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 51x18
             LayoutText (anonymous) at (4,1) size 31x16
               text run at (4,1) width 31 RTL: "\x{5DB}\x{5E4}\x{5EA}\x{5D5}\x{5E8}"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
index 77f0a2ea..12dda68e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/select-writing-direction-natural-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
index 1946d8cd..2ae38a8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.txt
index aa01f32..73e0ffe0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/select/selectlist-minsize-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x36
   LayoutBlockFlow {HTML} at (0,0) size 800x36
     LayoutBlockFlow {BODY} at (8,8) size 784x20
-      LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
index ce70e5f..2bc49e3 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.txt
index b4dbd61..baccbb17 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/forms/stuff-on-my-optgroup-expected.txt
@@ -3,13 +3,13 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 64x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutMenuList {SELECT} at (0,0) size 62x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "One"
-      LayoutBR {BR} at (64,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 64x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutBR {BR} at (62,15) size 0x0
+      LayoutMenuList {SELECT} at (0,20) size 62x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "One"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.png
index f96ddfe2..76e0b6f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.txt
index 736f9df..bec5903 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/html/keygen-expected.txt
@@ -4,9 +4,9 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {KEYGEN} at (0,0) size 149x20
-        LayoutMenuList {SELECT} at (0,0) size 149x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 147x18
+      LayoutBlockFlow {KEYGEN} at (0,0) size 147x20
+        LayoutMenuList {SELECT} at (0,0) size 147x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 145x18
             LayoutText (anonymous) at (4,1) size 105x16
               text run at (4,1) width 105: "2048 (High Grade)"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.png
index d51843e..4858157 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.txt
index f578b3c4..5d85ab0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/invalid/014-expected.txt
@@ -9,17 +9,17 @@
           text run at (270,0) width 299: "H2 should allow a form inside it, but p should not."
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {FORM} at (0,20) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 31x18
+        LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 29x18
             LayoutText (anonymous) at (4,1) size 9x16
               text run at (4,1) width 9: "A"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {P} at (0,56) size 784x0
-layer at (470,48) size 37x48
-  LayoutBlockFlow (positioned) {H2} at (470,47.91) size 37x48 [border: (2px solid #008000)]
-    LayoutBlockFlow {FORM} at (2,2) size 33x20
-      LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 31x18
+layer at (470,48) size 35x48
+  LayoutBlockFlow (positioned) {H2} at (470,47.91) size 35x48 [border: (2px solid #008000)]
+    LayoutBlockFlow {FORM} at (2,2) size 31x20
+      LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 29x18
           LayoutText (anonymous) at (4,1) size 9x16
             text run at (4,1) width 9: "A"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.png
index 9208360..02fd18c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.txt
index 289c03b..36342c0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/parser/document-write-option-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 340x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 338x18
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
           LayoutText (anonymous) at (4,1) size 316x16
             text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.png
index 98ce609..fb3312a 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.txt
index c4f0586d..8d9d3f0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-expected.txt
@@ -28,12 +28,12 @@
             LayoutText {#text} at (0,0) size 36x16
               text run at (0,0) width 36: "button"
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (1,187) size 59x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 57x18
+        LayoutMenuList {SELECT} at (1,187) size 57x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 55x18
             LayoutText (anonymous) at (4,1) size 35x16
               text run at (4,1) width 35: "select"
-        LayoutMenuList {SELECT} at (1,207) size 59x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 57x18
+        LayoutMenuList {SELECT} at (1,207) size 57x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 55x18
             LayoutText (anonymous) at (4,1) size 35x16
               text run at (4,1) width 35: "select"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
index 6e6d306..c2311432 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.txt
index 9c3050f..8bdd4b2 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/replaced-breaking-mixture-expected.txt
@@ -10,8 +10,8 @@
       LayoutBlockFlow {DIV} at (0,45) size 10x40
         LayoutText {#text} at (0,0) size 25x19
           text run at (0,0) width 25: "Foo"
-        LayoutMenuList {SELECT} at (0,20) size 48x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 46x18
+        LayoutMenuList {SELECT} at (0,20) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 44x18
             LayoutText (anonymous) at (4,1) size 24x16
               text run at (4,1) width 24: "One"
       LayoutBlockFlow {DIV} at (0,85) size 10x42
@@ -23,8 +23,8 @@
         LayoutText {#text} at (0,25) size 25x19
           text run at (0,25) width 25: "Foo"
       LayoutBlockFlow {DIV} at (0,172) size 10x40
-        LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 46x18
+        LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 44x18
             LayoutText (anonymous) at (4,1) size 24x16
               text run at (4,1) width 24: "One"
         LayoutText {#text} at (0,20) size 25x19
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.png
index 8be78cde..0ec437c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.txt
index abbfc8e..d5939cb1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/three-selects-break-expected.txt
@@ -4,15 +4,15 @@
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {DIV} at (0,0) size 5x60
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutMenuList {SELECT} at (0,20) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,20) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutMenuList {SELECT} at (0,40) size 24x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,40) size 22x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-menulist-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-menulist-expected.txt
index 26ac8d2f..7d0ef1d 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-menulist-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-menulist-expected.txt
@@ -11,17 +11,17 @@
           LayoutTableRow {TR} at (0,1) size 784x22
             LayoutTableCell {TD} at (1,1) size 4x22 [r=0 c=0 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 21x16
                     text run at (4,1) width 21: "one"
             LayoutTableCell {TD} at (6,1) size 4x22 [r=0 c=1 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 20x16
                     text run at (4,1) width 20: "two"
             LayoutTableCell {TD} at (11,1) size 4x22 [r=0 c=2 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 29x16
                     text run at (4,1) width 29: "three"
             LayoutTableCell {TD} at (16,1) size 767x22 [r=0 c=3 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/WebKit/LayoutTests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
index 9a997a4..e3d10be8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
index 4ec2e78..14e83b0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.txt
index 2d628e18..97274f79 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug1188-expected.txt
@@ -15,22 +15,22 @@
               LayoutTableCell {TD} at (2,55) size 594x40 [bgcolor=#99CCCC] [r=1 c=0 rs=1 cs=3]
                 LayoutInline {FONT} at (0,0) size 134x16
                   LayoutInline {B} at (0,0) size 134x16
-                    LayoutText {#text} at (51,4) size 134x16
-                      text run at (51,4) width 134: "Search the Web with"
-                LayoutText {#text} at (184,2) size 5x19
-                  text run at (184,2) width 5: " "
-                LayoutMenuList {SELECT} at (188.38,2) size 79x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 77x18
+                    LayoutText {#text} at (52,4) size 134x16
+                      text run at (52,4) width 134: "Search the Web with"
+                LayoutText {#text} at (185,2) size 5x19
+                  text run at (185,2) width 5: " "
+                LayoutMenuList {SELECT} at (189.38,2) size 77x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 75x18
                     LayoutText (anonymous) at (4,1) size 55x16
                       text run at (4,1) width 55: "Netscape"
-                LayoutTextControl {INPUT} at (267.38,1) size 214x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-                LayoutText {#text} at (481,2) size 5x19
-                  text run at (481,2) width 5: " "
-                LayoutButton {INPUT} at (485.38,1) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                LayoutTextControl {INPUT} at (266.38,1) size 214x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+                LayoutText {#text} at (480,2) size 5x19
+                  text run at (480,2) width 5: " "
+                LayoutButton {INPUT} at (484.38,1) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 41x16
                     LayoutText {#text} at (0,0) size 41x16
                       text run at (0,0) width 41: "Search"
-                LayoutBR {BR} at (542,17) size 1x0
+                LayoutBR {BR} at (541,17) size 1x0
                 LayoutInline {SMALL} at (0,0) size 556x15
                   LayoutInline {A} at (0,0) size 99x15 [color=#0000EE]
                     LayoutText {#text} at (19,23) size 99x15
@@ -136,5 +136,5 @@
                   LayoutTableSection {TBODY} at (0,0) size 0x1
                     LayoutTableRow {TR} at (0,0) size 0x1
                       LayoutTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
-layer at (279,77) size 210x16
+layer at (278,77) size 210x16
   LayoutBlockFlow {DIV} at (2,3) size 210x16
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
index 82f3af6..188b76e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.txt
index 56997c1..d499a75 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug18359-expected.txt
@@ -28,8 +28,8 @@
                   LayoutText {#text} at (1,1) size 104x19
                     text run at (1,1) width 104: "Run Test Case:"
               LayoutTableCell {TD} at (110,29) size 426x22 [r=1 c=1 rs=1 cs=1]
-                LayoutMenuList {SELECT} at (1,1) size 269x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 267x18
+                LayoutMenuList {SELECT} at (1,1) size 267x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 265x18
                     LayoutText (anonymous) at (4,1) size 77x16
                       text run at (4,1) width 77: "a_abortinstall"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
index 73addac7..564a51e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.txt
index 047e0d4..c23de04 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-3-expected.txt
@@ -66,16 +66,16 @@
         LayoutBlockFlow {P} at (0,0) size 769x44
           LayoutText {#text} at (0,1) size 254x19
             text run at (0,1) width 254: "How does your browser fare on this test? "
-          LayoutMenuList {SELECT} at (254,1) size 248x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 246x18
+          LayoutMenuList {SELECT} at (254,1) size 246x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 244x18
               LayoutText (anonymous) at (4,1) size 151x16
                 text run at (4,1) width 151: "The test renders correctly."
-          LayoutText {#text} at (502,1) size 4x19
-            text run at (502,1) width 4: " "
+          LayoutText {#text} at (500,1) size 4x19
+            text run at (500,1) width 4: " "
           LayoutInline {LABEL} at (0,0) size 220x19
-            LayoutText {#text} at (506,1) size 66x19
-              text run at (506,1) width 66: "Comment: "
-            LayoutTextControl {INPUT} at (572,0) size 154x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+            LayoutText {#text} at (504,1) size 66x19
+              text run at (504,1) width 66: "Comment: "
+            LayoutTextControl {INPUT} at (570,0) size 154x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
           LayoutText {#text} at (0,0) size 0x0
           LayoutButton {INPUT} at (0,22) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
             LayoutBlockFlow (anonymous) at (8,3) size 41x16
@@ -115,5 +115,5 @@
       LayoutBlockFlow {P} at (0,652.06) size 769x20
         LayoutText {#text} at (0,0) size 177x19
           text run at (0,0) width 177: "Last updated in March 1999."
-layer at (582,491) size 150x16
+layer at (580,491) size 150x16
   LayoutBlockFlow {DIV} at (2,3) size 150x16
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.txt
index 33072d33..e5041b003 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug2479-4-expected.txt
@@ -183,8 +183,8 @@
         LayoutBlockFlow {P} at (0,0) size 769x42
           LayoutText {#text} at (0,0) size 254x19
             text run at (0,0) width 254: "How does your browser fare on this test? "
-          LayoutMenuList {SELECT} at (254,0) size 505x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 503x18
+          LayoutMenuList {SELECT} at (254,0) size 503x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 501x18
               LayoutText (anonymous) at (4,1) size 480x16
                 text run at (4,1) width 480: "The tests all render identically, and this browser may or may not grok CSS2 tables."
           LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
index 10807b2f..0234443 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.txt
index 415a0f3..d91716d0 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug29326-expected.txt
@@ -8,8 +8,8 @@
           LayoutTableRow {TR} at (0,2) size 398x40
             LayoutTableCell {TD} at (2,2) size 394x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {FORM} at (2,2) size 390x20
-                LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 46x18
+                LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 44x18
                     LayoutText (anonymous) at (4,1) size 24x16
                       text run at (4,1) width 24: "Test"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
index 339d5ab8..4afc7eb 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.txt
index a592a616..994fa57 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug33855-expected.txt
@@ -22,17 +22,17 @@
                   LayoutBlockFlow (anonymous) at (8,3) size 71x16
                     LayoutText {#text} at (0,0) size 71x16
                       text run at (0,0) width 71: "Empty trash"
-              LayoutTableCell {TD} at (224,4) size 378x22 [r=0 c=3 rs=1 cs=1]
+              LayoutTableCell {TD} at (224,4) size 380x22 [r=0 c=3 rs=1 cs=1]
                 LayoutText {#text} at (1,1) size 4x19
                   text run at (1,1) width 4: " "
-              LayoutTableCell {TD} at (604,2) size 67x24 [r=0 c=4 rs=1 cs=1]
+              LayoutTableCell {TD} at (606,2) size 67x24 [r=0 c=4 rs=1 cs=1]
                 LayoutButton {INPUT} at (1,1) size 65x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 49x16
                     LayoutText {#text} at (0,0) size 49x16
                       text run at (0,0) width 49: "Move to:"
-              LayoutTableCell {TD} at (673,4) size 109x22 [r=0 c=5 rs=1 cs=1]
-                LayoutMenuList {SELECT} at (1,1) size 107x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 105x18
+              LayoutTableCell {TD} at (675,4) size 107x22 [r=0 c=5 rs=1 cs=1]
+                LayoutMenuList {SELECT} at (1,1) size 105x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 103x18
                     LayoutText (anonymous) at (4,1) size 83x16
                       text run at (4,1) width 83: "Choose folder "
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
index 9abaf24..0e36609 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.txt
index daeb8d8..d8d97bf 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug4382-expected.txt
@@ -16,8 +16,8 @@
         LayoutTextControl {INPUT} at (49.70,0) size 142x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
         LayoutText {#text} at (191,1) size 5x19
           text run at (191,1) width 5: " "
-        LayoutMenuList {SELECT} at (195.70,1) size 72x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 70x18
+        LayoutMenuList {SELECT} at (195.70,1) size 70x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 68x18
             LayoutText (anonymous) at (4,1) size 37x16
               text run at (4,1) width 37: "Excite"
         LayoutText {#text} at (0,0) size 0x0
@@ -27,8 +27,8 @@
           text run at (0,20) width 250: "The select should not contain blank items "
         LayoutBR {BR} at (250,35) size 0x0
       LayoutBlockFlow {FORM} at (0,98) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 252x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 250x18
+        LayoutMenuList {SELECT} at (0,0) size 250x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 248x18
             LayoutText (anonymous) at (4,1) size 62x16
               text run at (4,1) width 62: "Quick Link"
 layer at (60,31) size 138x16
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
index 774c8c1b..22b3e47 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.txt
index 04b5900..558379e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/bugs/bug96334-expected.txt
@@ -1,41 +1,41 @@
-layer at (0,0) size 800x600 scrollWidth 983
+layer at (0,0) size 800x600 scrollWidth 981
   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
-      LayoutTable {TABLE} at (0,0) size 975x148 [border: (2px solid #0000FF)]
-        LayoutTableSection {TBODY} at (2,2) size 971x144
-          LayoutTableRow {TR} at (0,2) size 971x140
-            LayoutTableCell {TD} at (2,2) size 233x140 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
-              LayoutTable {TABLE} at (2,2) size 229x136 [border: (2px solid #008000)]
-                LayoutTableSection {TBODY} at (2,2) size 225x132
-                  LayoutTableRow {TR} at (0,2) size 225x90
-                    LayoutTableCell {TD} at (2,2) size 221x90 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+      LayoutTable {TABLE} at (0,0) size 973x148 [border: (2px solid #0000FF)]
+        LayoutTableSection {TBODY} at (2,2) size 969x144
+          LayoutTableRow {TR} at (0,2) size 969x140
+            LayoutTableCell {TD} at (2,2) size 231x140 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+              LayoutTable {TABLE} at (2,2) size 227x136 [border: (2px solid #008000)]
+                LayoutTableSection {TBODY} at (2,2) size 223x132
+                  LayoutTableRow {TR} at (0,2) size 223x90
+                    LayoutTableCell {TD} at (2,2) size 219x90 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                       LayoutTable {TABLE} at (2,2) size 166x34 [border: (2px solid #FF0000)]
                         LayoutTableSection {TBODY} at (2,2) size 162x30
                           LayoutTableRow {TR} at (0,2) size 162x26
                             LayoutTableCell {TD} at (2,2) size 158x26 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                               LayoutTextControl {INPUT} at (2,2) size 154x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
                               LayoutText {#text} at (0,0) size 0x0
-                      LayoutTable {TABLE} at (2,36) size 217x52 [border: (2px solid #FF0000)]
-                        LayoutTableSection {TBODY} at (2,2) size 213x48
-                          LayoutTableRow {TR} at (0,2) size 213x44
-                            LayoutTableCell {TD} at (2,2) size 209x44 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+                      LayoutTable {TABLE} at (2,36) size 215x52 [border: (2px solid #FF0000)]
+                        LayoutTableSection {TBODY} at (2,2) size 211x48
+                          LayoutTableRow {TR} at (0,2) size 211x44
+                            LayoutTableCell {TD} at (2,2) size 207x44 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                               LayoutText {#text} at (2,2) size 187x39
                                 text run at (2,2) width 187: "THIS TABLE NEEDS TO BE"
                                 text run at (2,22) width 39: "HERE"
-                  LayoutTableRow {TR} at (0,94) size 225x36
-                    LayoutTableCell {TD} at (2,94) size 221x36 [border: (1px solid #C0C0C0)] [r=1 c=0 rs=1 cs=1]
-                      LayoutTable {TABLE} at (2,2) size 217x32 [border: (2px solid #FF0000)]
-                        LayoutTableSection {TBODY} at (2,2) size 213x28
-                          LayoutTableRow {TR} at (0,2) size 213x24
-                            LayoutTableCell {TD} at (2,2) size 209x24 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
-                              LayoutMenuList {SELECT} at (2,2) size 205x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                                LayoutBlockFlow (anonymous) at (1,1) size 203x18
+                  LayoutTableRow {TR} at (0,94) size 223x36
+                    LayoutTableCell {TD} at (2,94) size 219x36 [border: (1px solid #C0C0C0)] [r=1 c=0 rs=1 cs=1]
+                      LayoutTable {TABLE} at (2,2) size 215x32 [border: (2px solid #FF0000)]
+                        LayoutTableSection {TBODY} at (2,2) size 211x28
+                          LayoutTableRow {TR} at (0,2) size 211x24
+                            LayoutTableCell {TD} at (2,2) size 207x24 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+                              LayoutMenuList {SELECT} at (2,2) size 203x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                                LayoutBlockFlow (anonymous) at (1,1) size 201x18
                                   LayoutText (anonymous) at (4,1) size 181x16
                                     text run at (4,1) width 181: "USE THIS JAVASCRIPT HERE"
                               LayoutText {#text} at (0,0) size 0x0
-            LayoutTableCell {TD} at (237,2) size 732x44 [border: (1px solid #C0C0C0)] [r=0 c=1 rs=1 cs=1]
+            LayoutTableCell {TD} at (235,2) size 732x44 [border: (1px solid #C0C0C0)] [r=0 c=1 rs=1 cs=1]
               LayoutText {#text} at (2,2) size 728x39
                 text run at (2,2) width 728: "KEEPoTHEoTEXToHEREoASoLONGoASoPOSSIBLEooKEEPoTHEoTEXToHEREoASoLONGoASoPOSSIBLE"
                 text run at (2,22) width 580: "THIS SIMULATES THE PROBLEM ON THE WWW.MAPBLAST.COM/ \"CREATE MAP\""
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.png
index b471284..2836901b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.txt
index d6cf649..6e689ed 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/core/margins-expected.txt
@@ -11,8 +11,8 @@
           LayoutTableRow {TR} at (0,2) size 398x40
             LayoutTableCell {TD} at (2,2) size 394x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {FORM} at (2,2) size 390x20
-                LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 46x18
+                LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 44x18
                     LayoutText (anonymous) at (4,1) size 24x16
                       text run at (4,1) width 24: "Test"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.png
index 7f440f58..64a760b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.txt
index ccdb7a09..9375d64 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla/dom/tableDom-expected.txt
@@ -4,28 +4,28 @@
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {FORM} at (0,0) size 784x22
-        LayoutMenuList {SELECT} at (0,1) size 90x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 88x18
+        LayoutMenuList {SELECT} at (0,1) size 88x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 86x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "append cell"
-        LayoutText {#text} at (90,1) size 51x19
-          text run at (90,1) width 51: "   tbody "
-        LayoutTextControl {INPUT} at (141,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (205,1) size 40x19
-          text run at (205,1) width 40: "   row "
-        LayoutTextControl {INPUT} at (245,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (309,1) size 34x19
-          text run at (309,1) width 34: "   col "
-        LayoutTextControl {INPUT} at (343,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (407,1) size 72x19
-          text run at (407,1) width 72: "   row span "
-        LayoutTextControl {INPUT} at (479,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (543,1) size 66x19
-          text run at (543,1) width 66: "   col span "
-        LayoutTextControl {INPUT} at (609,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (673,1) size 20x19
-          text run at (673,1) width 20: "     "
-        LayoutButton {INPUT} at (693,0) size 43x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        LayoutText {#text} at (88,1) size 51x19
+          text run at (88,1) width 51: "   tbody "
+        LayoutTextControl {INPUT} at (139,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (203,1) size 40x19
+          text run at (203,1) width 40: "   row "
+        LayoutTextControl {INPUT} at (243,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (307,1) size 34x19
+          text run at (307,1) width 34: "   col "
+        LayoutTextControl {INPUT} at (341,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (405,1) size 72x19
+          text run at (405,1) width 72: "   row span "
+        LayoutTextControl {INPUT} at (477,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (541,1) size 66x19
+          text run at (541,1) width 66: "   col span "
+        LayoutTextControl {INPUT} at (607,0) size 64x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (671,1) size 20x19
+          text run at (671,1) width 20: "     "
+        LayoutButton {INPUT} at (691,0) size 43x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
           LayoutBlockFlow (anonymous) at (8,3) size 27x16
             LayoutText {#text} at (0,0) size 27x16
               text run at (0,0) width 27: "Do It"
@@ -47,23 +47,23 @@
                 text run at (2,2) width 23: "c22"
       LayoutBlockFlow (anonymous) at (0,114) size 784x20
         LayoutBR {BR} at (0,0) size 0x19
-layer at (151,11) size 60x16
+layer at (149,11) size 60x16
   LayoutBlockFlow {DIV} at (2,3) size 60x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (255,11) size 60x16
+layer at (253,11) size 60x16
   LayoutBlockFlow {DIV} at (2,3) size 60x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (353,11) size 60x16
+layer at (351,11) size 60x16
   LayoutBlockFlow {DIV} at (2,3) size 60x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (489,11) size 60x16
+layer at (487,11) size 60x16
   LayoutBlockFlow {DIV} at (2,3) size 60x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "1"
-layer at (619,11) size 60x16
+layer at (617,11) size 60x16
   LayoutBlockFlow {DIV} at (2,3) size 60x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "1"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
index 74db7ef..cf2cfb9f 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
index ae8414d..22ad363 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
@@ -5,18 +5,18 @@
     LayoutTable (anonymous) at (16,16) size 737x1389
       LayoutTableSection (anonymous) at (0,0) size 737x1389
         LayoutTableRow (anonymous) at (0,0) size 737x1389
-          LayoutTableCell {HEAD} at (0,0) size 206x546 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
-            LayoutBlockFlow {META} at (21,37) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,55) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,73) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,91) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {TITLE} at (21,109) size 164x62 [border: (1px dotted #FFFFFF)]
+          LayoutTableCell {HEAD} at (0,0) size 208x546 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
+            LayoutBlockFlow {META} at (21,37) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,55) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,73) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,91) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {TITLE} at (21,109) size 166x62 [border: (1px dotted #FFFFFF)]
               LayoutText {#text} at (1,1) size 133x59
                 text run at (1,1) width 125: "Evil Tests: Rendering"
                 text run at (1,21) width 133: "BODY and HEAD as"
                 text run at (1,41) width 132: "children of HTML - 2"
-            LayoutBlockFlow {STYLE} at (21,187) size 164x322 [border: (1px dotted #FFFFFF)]
-              LayoutText {#text} at (1,1) size 158x319
+            LayoutBlockFlow {STYLE} at (21,187) size 166x322 [border: (1px dotted #FFFFFF)]
+              LayoutText {#text} at (1,1) size 164x319
                 text run at (1,1) width 78: "/* Layout */ "
                 text run at (79,1) width 54: "HTML {"
                 text run at (1,21) width 135: "display: block; border:"
@@ -27,8 +27,8 @@
                 text run at (1,101) width 69: "solid thick; "
                 text run at (70,101) width 85: "padding: 1em;"
                 text run at (1,121) width 93: "margin: 1em; } "
-                text run at (93,121) width 56: "HEAD >"
-                text run at (1,141) width 145: "*, BODY > * { display:"
+                text run at (93,121) width 72: "HEAD > *,"
+                text run at (1,141) width 129: "BODY > * { display:"
                 text run at (1,161) width 158: "block; border: thin dotted;"
                 text run at (1,181) width 105: "margin: 1em 0; } "
                 text run at (105,181) width 13: "/*"
@@ -40,8 +40,8 @@
                 text run at (1,261) width 155: "white; background: red; }"
                 text run at (1,281) width 140: "BODY { color: yellow;"
                 text run at (1,301) width 116: "background: teal; }"
-          LayoutTableCell {BODY} at (206,42) size 531x1347 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
-            LayoutBlockFlow {H1} at (21,53) size 489x76 [border: (1px dotted #FFFF00)]
+          LayoutTableCell {BODY} at (208,42) size 529x1347 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
+            LayoutBlockFlow {H1} at (21,53) size 487x76 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 152x36
                 text run at (1,1) width 152: "Rendering "
               LayoutInline {CODE} at (0,0) size 64x30
@@ -60,7 +60,7 @@
                   text run at (158,45) width 65: "HTML"
               LayoutText {#text} at (222,38) size 44x36
                 text run at (222,38) width 44: " - 2"
-            LayoutBlockFlow {P} at (21,161) size 489x42 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,161) size 487x42 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 364x19
                 text run at (1,1) width 364: "If you have any comments to make regarding this test, e-mail"
               LayoutInline {A} at (0,0) size 174x19 [color=#0000EE]
@@ -68,11 +68,11 @@
                   text run at (1,21) width 174: "py8ieh=eviltests@bath.ac.uk"
               LayoutText {#text} at (175,21) size 4x19
                 text run at (175,21) width 4: "."
-            LayoutBlockFlow {DL} at (21,219) size 489x82 [border: (1px dotted #FFFF00)]
-              LayoutBlockFlow {DT} at (1,1) size 487x20
+            LayoutBlockFlow {DL} at (21,219) size 487x82 [border: (1px dotted #FFFF00)]
+              LayoutBlockFlow {DT} at (1,1) size 485x20
                 LayoutText {#text} at (0,0) size 77x19
                   text run at (0,0) width 77: "Prerequisites"
-              LayoutBlockFlow {DD} at (41,21) size 447x60
+              LayoutBlockFlow {DD} at (41,21) size 445x60
                 LayoutText {#text} at (0,0) size 444x59
                   text run at (0,0) width 371: "Browsers that are subjected to this test should support the the"
                   text run at (0,20) width 444: "background, padding, margin, border and color properties of CSS, and in"
@@ -82,62 +82,62 @@
                     text run at (74,43) width 64: "overflow"
                 LayoutText {#text} at (138,40) size 272x19
                   text run at (138,40) width 272: " property and fixed position stuff from CSS2."
-            LayoutBlockFlow {H2} at (21,325) size 489x56 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {H2} at (21,325) size 487x56 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 438x53
                 text run at (1,1) width 438: "1. Making the BODY and the HEAD into a"
                 text run at (1,28) width 51: "table"
-            LayoutBlockFlow {P} at (21,405) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,405) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 238x19
                 text run at (1,1) width 238: "This is really evil, but completely valid..."
-            LayoutBlockFlow {P} at (21,443) size 489x102 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,443) size 487x102 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 482x99
                 text run at (1,1) width 471: "This document should have two cells, side by side: one on the left, the other on"
                 text run at (1,21) width 469: "the right. The one on the left should be red with white writing and a thick white"
                 text run at (1,41) width 482: "border. It should contain four dotted lines separated by a blank line, followed by"
                 text run at (1,61) width 433: "a dotted bordered box containing the document title, and another dotted"
                 text run at (1,81) width 350: "bordered box containing the stylesheet, also shown below:"
-            LayoutBlockFlow {PRE} at (21,561) size 489x18 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {PRE} at (21,561) size 487x18 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 40x16
                 text run at (1,1) width 40: "  ..."
                 text run at (41,1) width 0: " "
-            LayoutBlockFlow {P} at (21,595) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,595) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 431x19
                 text run at (1,1) width 431: "The dotted borders and lines and the text in the left cell should be white."
-            LayoutBlockFlow {P} at (21,633) size 489x42 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,633) size 487x42 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 461x39
                 text run at (1,1) width 461: "The right cell should be teal, with yellow text. This paragraph you are reading"
                 text run at (1,21) width 184: "now should be in this right cell."
-            LayoutBlockFlow {P} at (21,691) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,691) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 422x19
                 text run at (1,1) width 422: "The width of the two cells is left up to the user agent to decide, I think."
-            LayoutBlockFlow {P} at (21,729) size 489x82 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,729) size 487x82 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 474x79
                 text run at (1,1) width 472: "The right cell should look similar to the left cell in formatting -- each box of text"
                 text run at (1,21) width 466: "should have a yellow dotted border, and there should be a blank line between"
                 text run at (1,41) width 474: "each such box. No box should be nested -- the dotted boxes should always be"
                 text run at (1,61) width 145: "distinct from each other."
-            LayoutBlockFlow {P} at (21,827) size 489x42 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,827) size 487x42 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 460x39
                 text run at (1,1) width 460: "The cells should be the same height, and they should have grown vertically to"
                 text run at (1,21) width 139: "accommodate this text."
-            LayoutBlockFlow {P} at (21,885) size 489x62 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,885) size 487x62 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 479x59
                 text run at (1,1) width 479: "Around the whole setup should be two borders, dark green and light green. The"
                 text run at (1,21) width 478: "cells should be separated from each other and from these outer borders by 1em"
                 text run at (1,41) width 85: "of dark green."
-            LayoutBlockFlow {P} at (21,963) size 489x42 [border: (1px dotted #FFFF00)]
-              LayoutText {#text} at (1,1) size 486x39
-                text run at (1,1) width 486: "There should also be some alternate stylesheets set up to allow you to display the"
-                text run at (1,21) width 291: "<META> content. This may help with diagnosis."
-            LayoutBlockFlow {H2} at (21,1029) size 489x29 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,963) size 487x42 [border: (1px dotted #FFFF00)]
+              LayoutText {#text} at (1,1) size 464x39
+                text run at (1,1) width 464: "There should also be some alternate stylesheets set up to allow you to display"
+                text run at (1,21) width 313: "the <META> content. This may help with diagnosis."
+            LayoutBlockFlow {H2} at (21,1029) size 487x29 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 153x26
                 text run at (1,1) width 153: "Submit Results"
-            LayoutBlockFlow {FORM} at (21,1082) size 489x96 [border: (1px dotted #FFFF00)]
-              LayoutBlockFlow {P} at (1,17) size 487x62
+            LayoutBlockFlow {FORM} at (21,1082) size 487x96 [border: (1px dotted #FFFF00)]
+              LayoutBlockFlow {P} at (1,17) size 485x62
                 LayoutText {#text} at (0,0) size 250x19
                   text run at (0,0) width 250: "How does your browser fare on this test?"
-                LayoutMenuList {SELECT} at (0,20) size 487x20 [color=#000000] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 485x18
+                LayoutMenuList {SELECT} at (0,20) size 485x20 [color=#000000] [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 483x18
                     LayoutText (anonymous) at (4,1) size 234x16
                       text run at (4,1) width 234: "Document renders exactly as described."
                 LayoutText {#text} at (0,0) size 0x0
@@ -152,14 +152,14 @@
                     LayoutText {#text} at (0,0) size 41x16
                       text run at (0,0) width 41: "Submit"
                 LayoutText {#text} at (0,0) size 0x0
-            LayoutBlockFlow {HR} at (21,1194) size 489x2 [border: (1px dotted #FFFF00)]
-            LayoutBlockFlow {P} at (21,1212) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {HR} at (21,1194) size 487x2 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1212) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutInline {A} at (0,0) size 152x19 [color=#0000EE]
                 LayoutText {#text} at (1,1) size 152x19
                   text run at (1,1) width 152: "Up to the Evil Tests Page"
               LayoutText {#text} at (152,1) size 5x19
                 text run at (152,1) width 5: "."
-            LayoutBlockFlow {P} at (21,1250) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1250) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 162x19
                 text run at (1,1) width 162: "This page is maintained by "
               LayoutInline {A} at (0,0) size 73x19 [color=#0000EE]
@@ -172,8 +172,8 @@
                   text run at (245,1) width 118: "py8ieh@bath.ac.uk"
               LayoutText {#text} at (363,1) size 9x19
                 text run at (363,1) width 9: ")."
-            LayoutBlockFlow {P} at (21,1288) size 489x22 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1288) size 487x22 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 164x19
                 text run at (1,1) width 164: "Last updated in June 1999."
-layer at (320,1208) size 150x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
+layer at (322,1208) size 150x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
   LayoutBlockFlow {DIV} at (2,3) size 150x16
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.png b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.png
index 05d0d94..7517a9d9 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.txt
index 1dde5a9..0acfa07 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/transforms/2d/zoom-menulist-expected.txt
@@ -7,8 +7,8 @@
         LayoutText {#text} at (0,1) size 405x55
           text run at (0,1) width 405: "Zooming Menu List"
       LayoutBlockFlow (anonymous) at (0,89.16) size 776x83
-        LayoutMenuList {SELECT} at (0,0) size 264x83 [bgcolor=#C0C0C0] [border: (4px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (4,4) size 256x77
+        LayoutMenuList {SELECT} at (0,0) size 255x83 [bgcolor=#C0C0C0] [border: (4px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (4,4) size 247x77
             LayoutText (anonymous) at (18,5) size 113x67
               text run at (18,5) width 113: "One"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
new file mode 100644
index 0000000..e3d10be8
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
index 9208360..02fd18c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt
new file mode 100644
index 0000000..36342c0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt
@@ -0,0 +1,10 @@
+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
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
+          LayoutText (anonymous) at (4,1) size 316x16
+            text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
+      LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
index 9208360..02fd18c 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt
new file mode 100644
index 0000000..36342c0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt
@@ -0,0 +1,10 @@
+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
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
+          LayoutText (anonymous) at (4,1) size 316x16
+            text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
+      LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index 4c8736f..18d5891 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
index 05924a3..6d36b790 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
@@ -21,123 +21,123 @@
         layer at (0,0) size 300x761
           LayoutBlockFlow {HTML} at (0,0) size 300x761
             LayoutBlockFlow {BODY} at (8,8) size 284x745
-              LayoutMenuList {SELECT} at (5,0) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,0) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,25) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,25) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,50) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,50) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,75) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,75) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,100) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,100) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,125) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,125) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,150) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,150) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,175) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,175) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,200) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,200) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,225) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,225) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,250) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,250) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,275) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,275) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,300) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,300) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,325) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,325) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,350) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,350) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,375) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,375) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,400) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,400) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,425) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,425) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,450) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,450) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,475) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,475) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,500) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,500) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,525) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,525) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,550) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,550) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,575) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,575) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,600) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,600) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,625) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,625) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,650) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,650) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,675) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,675) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,700) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,700) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,725) size 31x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,725) size 29x20 [bgcolor=#C0C0C0] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
index 59c38f7..cb450e7d8 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 4ee4d89..f4d9d8cae 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
index 4ee4d89..f4d9d8cae 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png
index c1f067a..afe67c3 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.txt
index abf5fdf..5f14885 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/forms/select/menulist-appearance-basic-expected.txt
@@ -106,7 +106,13 @@
             text run at (16,2) width 33: "foo"
       LayoutText {#text} at (170,208) size 4x18
         text run at (170,208) width 4: " "
-      LayoutBR {BR} at (174,208) size 0x18
+      LayoutMenuList {SELECT} at (176,212) size 29x15 [bgcolor=#F8F8F8] [border: (1px solid #A6A6A6)]
+        LayoutBlockFlow (anonymous) at (1,1.50) size 27x12
+          LayoutText (anonymous) at (4,0) size 14x11
+            text run at (4,0) width 14: "foo"
+      LayoutText {#text} at (207,208) size 4x18
+        text run at (207,208) width 4: " "
+      LayoutBR {BR} at (211,208) size 0x18
       LayoutText {#text} at (208,256) size 4x18
         text run at (208,256) width 4: " "
       LayoutBR {BR} at (212,256) size 0x18
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png
index b2818b4..fc92cb0 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.txt
index 68a3095a9..1b6a7dc65 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/select/menulist-appearance-basic-expected.txt
@@ -106,7 +106,13 @@
             text run at (16,2) width 36: "foo"
       LayoutText {#text} at (175,208) size 4x18
         text run at (175,208) width 4: " "
-      LayoutBR {BR} at (179,208) size 0x18
+      LayoutMenuList {SELECT} at (181,212) size 30x15 [bgcolor=#F8F8F8] [border: (1px solid #A6A6A6)]
+        LayoutBlockFlow (anonymous) at (1,1.50) size 28x12
+          LayoutText (anonymous) at (4,0) size 15x11
+            text run at (4,0) width 15: "foo"
+      LayoutText {#text} at (213,208) size 4x18
+        text run at (213,208) width 4: " "
+      LayoutBR {BR} at (217,208) size 0x18
       LayoutText {#text} at (208,256) size 4x18
         text run at (208,256) width 4: " "
       LayoutBR {BR} at (212,256) size 0x18
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.png
index ca5c6e4..1046833 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.txt
index 7318ab9..aaf114a9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/forms/select/menulist-appearance-basic-expected.txt
@@ -106,7 +106,13 @@
             text run at (16,2) width 31: "foo"
       LayoutText {#text} at (169,208) size 4x18
         text run at (169,208) width 4: " "
-      LayoutBR {BR} at (173,208) size 0x18
+      LayoutMenuList {SELECT} at (175,212) size 29x15 [bgcolor=#F8F8F8] [border: (1px solid #A6A6A6)]
+        LayoutBlockFlow (anonymous) at (1,1.50) size 27x12
+          LayoutText (anonymous) at (4,0) size 14x11
+            text run at (4,0) width 14: "foo"
+      LayoutText {#text} at (206,208) size 4x18
+        text run at (206,208) width 4: " "
+      LayoutBR {BR} at (210,208) size 0x18
       LayoutText {#text} at (208,256) size 4x18
         text run at (208,256) width 4: " "
       LayoutBR {BR} at (212,256) size 0x18
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index ff92c27..ddc79ef 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
index 34b959a8..3539607 100644
--- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
@@ -21,123 +21,123 @@
         layer at (0,0) size 300x761
           LayoutBlockFlow {HTML} at (0,0) size 300x761
             LayoutBlockFlow {BODY} at (8,8) size 284x745
-              LayoutMenuList {SELECT} at (5,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,25) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,25) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,50) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,50) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,75) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,75) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,100) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,100) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,125) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,125) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,150) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,150) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,175) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,175) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,200) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,200) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,225) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,225) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,250) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,250) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,275) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,275) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,300) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,300) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,325) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,325) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,350) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,350) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,375) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,375) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,400) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,400) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,425) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,425) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,450) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,450) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,475) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,475) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,500) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,500) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,525) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,525) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,550) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,550) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,575) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,575) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,600) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,600) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,625) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,625) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,650) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,650) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,675) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,675) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,700) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,700) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,725) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,725) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
index c3fa9db1..dc16238 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.txt
index 2e1b161..c6fa965e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/html/css3-modsel-161-expected.txt
@@ -9,8 +9,8 @@
       LayoutBlockFlow {P} at (0,34) size 784x38 [bgcolor=#00FF00]
         LayoutText {#text} at (0,0) size 705x17
           text run at (0,0) width 705: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green)."
-        LayoutMenuList {SELECT} at (0,18) size 97x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 95x18
+        LayoutMenuList {SELECT} at (0,18) size 95x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 93x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "This should"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
index c3fa9db1..dc16238 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt
index 25719aa..126a478 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt
@@ -9,8 +9,8 @@
       LayoutBlockFlow {p} at (0,34) size 784x38 [bgcolor=#00FF00]
         LayoutText {#text} at (0,0) size 705x17
           text run at (0,0) width 705: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green)."
-        LayoutMenuList {select} at (0,18) size 97x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 95x18
+        LayoutMenuList {select} at (0,18) size 95x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 93x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "This should"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
index 8b5a68c9..35b98a75 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt
index 9d9f9ee9..7487f5ab 100644
--- a/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt
@@ -8,8 +8,8 @@
     LayoutBlockFlow {p} at (0,50) size 800x38 [bgcolor=#00FF00]
       LayoutText {#text} at (0,0) size 705x17
         text run at (0,0) width 705: "UAs may render the following element as a pop up menu. If so, please ensure the menu is unstyled (or green)."
-      LayoutMenuList {select} at (0,18) size 97x20 [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 95x18
+      LayoutMenuList {select} at (0,18) size 95x20 [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 93x18
           LayoutText (anonymous) at (4,1) size 66x16
             text run at (4,1) width 66: "This should"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.png
index 2a87e2fd..a5fc571 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
index 3938b11..c8bb4afe 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/replaced-boundaries-3-expected.txt
@@ -15,8 +15,8 @@
         LayoutText {#text} at (0,0) size 23x17
           text run at (0,0) width 23: "abc"
         LayoutBR {BR} at (22,14) size 1x0
-        LayoutMenuList {SELECT} at (0,18) size 235x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 233x18
+        LayoutMenuList {SELECT} at (0,18) size 233x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 231x18
             LayoutText (anonymous) at (4,1) size 211x16
               text run at (4,1) width 211: "this select box shouldn't be selected"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.png
index db7557e..6d99d4a5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.txt
index 490ba7a..b70a5f8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-box-expected.txt
@@ -62,10 +62,10 @@
         LayoutBlockFlow {DIV} at (0,0) size 784x20
           LayoutText {#text} at (0,1) size 73x17
             text run at (0,1) width 73: "select box: "
-          LayoutMenuList {SELECT} at (72.86,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 29x18
+          LayoutMenuList {SELECT} at (72.86,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 27x18
               LayoutText (anonymous) at (4,1) size 7x16
                 text run at (4,1) width 7: "1"
-          LayoutText {#text} at (103,1) size 68x17
-            text run at (103,1) width 68: " the end ..."
+          LayoutText {#text} at (101,1) size 68x17
+            text run at (101,1) width 68: " the end ..."
 caret: position 1 of child 0 {#text} of child 1 {DIV} of child 3 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
index e555bea..e4e83d7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
index bc6c91d..037b9ab 100644
--- a/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/editing/selection/select-element-paragraph-boundary-expected.txt
@@ -11,8 +11,8 @@
           text run at (332,0) width 432: "The caret should be at the end of the paragraph below, just after the"
           text run at (0,18) width 69: "select box."
       LayoutBlockFlow {DIV} at (0,52) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 29x18
+        LayoutMenuList {SELECT} at (0,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 27x18
             LayoutText (anonymous) at (4,1) size 7x16
               text run at (4,1) width 7: "1"
 caret: position 1 of child 0 {SELECT} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.png
index 13c6eb8..4792a965 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/block/margin-collapse/103-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/block/margin-collapse/103-expected.png
index bc6bca23..e1e8b43 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/block/margin-collapse/103-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/block/margin-collapse/103-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.png
index 7a066dd..155e26d7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.txt
index 3a83523f..bec705a6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/001-expected.txt
@@ -9,12 +9,12 @@
       LayoutTable {TABLE} at (0,58.44) size 784x86 [border: (2px outset #808080)]
         LayoutTableSection {TBODY} at (2,2) size 780x82
           LayoutTableRow {TR} at (0,0) size 780x82
-            LayoutTableCell {TD} at (0,0) size 126x82 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              LayoutMenuList {SELECT} at (1,1) size 124x80 [bgcolor=#FFFFFF] [border: (40px solid #FF0000)]
-                LayoutBlockFlow (anonymous) at (40,40) size 44x18
+            LayoutTableCell {TD} at (0,0) size 124x82 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              LayoutMenuList {SELECT} at (1,1) size 122x80 [bgcolor=#FFFFFF] [border: (40px solid #FF0000)]
+                LayoutBlockFlow (anonymous) at (40,40) size 42x18
                   LayoutText (anonymous) at (4,1) size 22x16
                     text run at (4,1) width 22: "Foo"
-            LayoutTableCell {TD} at (126,40) size 654x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,40) size 656x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
       LayoutBlockFlow {P} at (0,160.44) size 784x24
         LayoutTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
           LayoutTableSection {TBODY} at (2,2) size 780x20
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
index 5501a0a..9da94d7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
index 76ab4e9..035243ff 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
index 2f7a58c..593bbb3 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
index a78036d..197523fa 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/input-appearance-color-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/input-appearance-color-expected.png
index e5783b9..a52e9b9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/input-appearance-color-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/color/input-appearance-color-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-clip-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-clip-overflow-expected.png
index e6670fccd..99989cd5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-clip-overflow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-clip-overflow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.png
index 414caa4..ace01f0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt
index 5ccffdf6..feca44a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt
@@ -6,12 +6,12 @@
       LayoutText {#text} at (0,0) size 533x17
         text run at (0,0) width 533: "This tests that we don't honor line-height for controls that have restricted font size. "
       LayoutBR {BR} at (0,0) size 0x0
-      LayoutMenuList {SELECT} at (0,18) size 318x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 316x18
+      LayoutMenuList {SELECT} at (0,18) size 316x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 314x18
           LayoutText (anonymous) at (4,1) size 294x16
             text run at (4,1) width 294: "This text should be centered vertically in the button"
-      LayoutText {#text} at (318,19) size 4x17
-        text run at (318,19) width 4: " "
+      LayoutText {#text} at (316,19) size 4x17
+        text run at (316,19) width 4: " "
       LayoutBR {BR} at (0,0) size 0x0
       LayoutButton {INPUT} at (0,38) size 310x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 294x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.png
index 46cd3f72..4067578 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.txt
index f9da864..58f7afe 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/form-element-geometry-expected.txt
@@ -12,9 +12,9 @@
       LayoutBlockFlow {H2} at (0,96.34) size 784x27
         LayoutText {#text} at (0,0) size 167x26
           text run at (0,0) width 167: "Bounding Boxes"
-      LayoutTable {TABLE} at (0,143.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,143.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 52x26
@@ -22,45 +22,45 @@
                     LayoutBlockFlow (anonymous) at (8,3) size 36x16
                       LayoutText {#text} at (0,0) size 36x16
                         text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutInline {FONT} at (0,0) size 56x26
-                  LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                    LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutInline {FONT} at (0,0) size 54x26
+                  LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                    LayoutBlockFlow (anonymous) at (1,1) size 52x18
                       LayoutText (anonymous) at (4,1) size 32x16
                         text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x26
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x26
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-      LayoutTable {TABLE} at (0,175.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,175.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutButton {INPUT} at (2,2) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 36x16
                     LayoutText {#text} at (0,0) size 36x16
                       text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 52x18
                     LayoutText (anonymous) at (4,1) size 32x16
                       text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutBlockFlow {INPUT} at (2,2) size 13x13
-      LayoutTable {TABLE} at (0,207.25) size 168x32
-        LayoutTableSection {TBODY} at (0,0) size 168x32
-          LayoutTableRow {TR} at (0,2) size 168x28
+      LayoutTable {TABLE} at (0,207.25) size 166x32
+        LayoutTableSection {TBODY} at (0,0) size 166x32
+          LayoutTableRow {TR} at (0,2) size 166x28
             LayoutTableCell {TD} at (2,2) size 58x28 [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 56x26 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 52x12
@@ -68,18 +68,18 @@
                     LayoutBlockFlow (anonymous) at (8,3) size 36x16
                       LayoutText {#text} at (0,0) size 36x16
                         text run at (0,0) width 36: "button"
-            LayoutTableCell {TD} at (62,3) size 62x26 [r=0 c=1 rs=1 cs=1]
-              LayoutBlockFlow {DIV} at (1,1) size 60x24 [border: (2px solid #0000FF)]
-                LayoutInline {FONT} at (0,0) size 56x12
-                  LayoutMenuList {SELECT} at (2,2) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                    LayoutBlockFlow (anonymous) at (1,1) size 54x18
+            LayoutTableCell {TD} at (62,3) size 60x26 [r=0 c=1 rs=1 cs=1]
+              LayoutBlockFlow {DIV} at (1,1) size 58x24 [border: (2px solid #0000FF)]
+                LayoutInline {FONT} at (0,0) size 54x12
+                  LayoutMenuList {SELECT} at (2,2) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                    LayoutBlockFlow (anonymous) at (1,1) size 52x18
                       LayoutText (anonymous) at (4,1) size 32x16
                         text run at (4,1) width 32: "menu"
-            LayoutTableCell {TD} at (126,6) size 19x19 [r=0 c=2 rs=1 cs=1]
+            LayoutTableCell {TD} at (124,6) size 19x19 [r=0 c=2 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x12
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
-            LayoutTableCell {TD} at (147,6) size 19x19 [r=0 c=3 rs=1 cs=1]
+            LayoutTableCell {TD} at (145,6) size 19x19 [r=0 c=3 rs=1 cs=1]
               LayoutBlockFlow {DIV} at (1,1) size 17x17 [border: (2px solid #0000FF)]
                 LayoutInline {FONT} at (0,0) size 13x12
                   LayoutBlockFlow {INPUT} at (2,2) size 13x13
@@ -104,7 +104,7 @@
         LayoutText {#text} at (0,0) size 200x26
           text run at (0,0) width 200: "Baseline Alignment"
       LayoutBlockFlow {DIV} at (0,386.06) size 784x27
-        LayoutInline {FONT} at (0,0) size 209x26
+        LayoutInline {FONT} at (0,0) size 207x26
           LayoutText {#text} at (0,0) size 42x26
             text run at (0,0) width 42: "text "
           LayoutButton {INPUT} at (41.98,5) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
@@ -113,16 +113,16 @@
                 text run at (0,0) width 36: "button"
           LayoutText {#text} at (93,0) size 7x26
             text run at (93,0) width 7: " "
-          LayoutMenuList {SELECT} at (99.98,6) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 54x18
+          LayoutMenuList {SELECT} at (99.98,6) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 52x18
               LayoutText (anonymous) at (4,1) size 32x16
                 text run at (4,1) width 32: "menu"
-          LayoutText {#text} at (155,0) size 7x26
-            text run at (155,0) width 7: " "
-          LayoutBlockFlow {INPUT} at (166.98,8) size 13x13
-          LayoutText {#text} at (182,0) size 7x26
-            text run at (182,0) width 7: " "
-          LayoutBlockFlow {INPUT} at (192.98,8) size 13x13
+          LayoutText {#text} at (153,0) size 7x26
+            text run at (153,0) width 7: " "
+          LayoutBlockFlow {INPUT} at (164.98,8) size 13x13
+          LayoutText {#text} at (180,0) size 7x26
+            text run at (180,0) width 7: " "
+          LayoutBlockFlow {INPUT} at (190.98,8) size 13x13
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,413.06) size 784x22
         LayoutText {#text} at (0,2) size 28x17
@@ -133,19 +133,19 @@
               text run at (0,0) width 36: "button"
         LayoutText {#text} at (79,2) size 5x17
           text run at (79,2) width 5: " "
-        LayoutMenuList {SELECT} at (83.98,1) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 54x18
+        LayoutMenuList {SELECT} at (83.98,1) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 52x18
             LayoutText (anonymous) at (4,1) size 32x16
               text run at (4,1) width 32: "menu"
-        LayoutText {#text} at (139,2) size 5x17
-          text run at (139,2) width 5: " "
-        LayoutBlockFlow {INPUT} at (148.98,3) size 13x13
-        LayoutText {#text} at (164,2) size 5x17
-          text run at (164,2) width 5: " "
-        LayoutBlockFlow {INPUT} at (172.98,3) size 13x13
+        LayoutText {#text} at (137,2) size 5x17
+          text run at (137,2) width 5: " "
+        LayoutBlockFlow {INPUT} at (146.98,3) size 13x13
+        LayoutText {#text} at (162,2) size 5x17
+          text run at (162,2) width 5: " "
+        LayoutBlockFlow {INPUT} at (170.98,3) size 13x13
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,435.06) size 784x22
-        LayoutInline {FONT} at (0,0) size 176x12
+        LayoutInline {FONT} at (0,0) size 174x12
           LayoutText {#text} at (0,6) size 18x12
             text run at (0,6) width 18: "text "
           LayoutButton {INPUT} at (18,0) size 52x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
@@ -154,16 +154,16 @@
                 text run at (0,0) width 36: "button"
           LayoutText {#text} at (70,6) size 3x12
             text run at (70,6) width 3: " "
-          LayoutMenuList {SELECT} at (73,1) size 56x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 54x18
+          LayoutMenuList {SELECT} at (73,1) size 54x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 52x18
               LayoutText (anonymous) at (4,1) size 32x16
                 text run at (4,1) width 32: "menu"
-          LayoutText {#text} at (129,6) size 3x12
-            text run at (129,6) width 3: " "
-          LayoutBlockFlow {INPUT} at (137,3) size 13x13
-          LayoutText {#text} at (153,6) size 3x12
-            text run at (153,6) width 3: " "
-          LayoutBlockFlow {INPUT} at (160,3) size 13x13
+          LayoutText {#text} at (127,6) size 3x12
+            text run at (127,6) width 3: " "
+          LayoutBlockFlow {INPUT} at (135,3) size 13x13
+          LayoutText {#text} at (151,6) size 3x12
+            text run at (151,6) width 3: " "
+          LayoutBlockFlow {INPUT} at (158,3) size 13x13
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,457.06) size 784x42
         LayoutText {#text} at (0,22) size 28x17
@@ -183,60 +183,60 @@
         LayoutText {#text} at (0,0) size 198x26
           text run at (0,0) width 198: "Pop-up Menu Sizes"
       LayoutBlockFlow {DIV} at (0,565.88) size 784x27
-        LayoutInline {FONT} at (0,0) size 143x26
+        LayoutInline {FONT} at (0,0) size 137x26
           LayoutText {#text} at (0,0) size 0x0
-          LayoutMenuList {SELECT} at (0,6) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 22x18
+          LayoutMenuList {SELECT} at (0,6) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 20x18
               LayoutText (anonymous) at (4,1) size 4x16
                 text run at (4,1) width 4: " "
-          LayoutText {#text} at (24,0) size 6x26
-            text run at (24,0) width 6: " "
-          LayoutMenuList {SELECT} at (30,6) size 27x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 25x18
+          LayoutText {#text} at (22,0) size 6x26
+            text run at (22,0) width 6: " "
+          LayoutMenuList {SELECT} at (28,6) size 25x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 23x18
               LayoutText (anonymous) at (4,1) size 3x16
                 text run at (4,1) width 3: "|"
-          LayoutText {#text} at (57,0) size 6x26
-            text run at (57,0) width 6: " "
-          LayoutMenuList {SELECT} at (63,6) size 80x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 78x18
+          LayoutText {#text} at (53,0) size 6x26
+            text run at (53,0) width 6: " "
+          LayoutMenuList {SELECT} at (59,6) size 78x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 76x18
               LayoutText (anonymous) at (4,1) size 56x16
                 text run at (4,1) width 56: "xxxxxxxx"
           LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,592.88) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutText {#text} at (24,1) size 4x17
-          text run at (24,1) width 4: " "
-        LayoutMenuList {SELECT} at (28,0) size 27x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 25x18
+        LayoutText {#text} at (22,1) size 4x17
+          text run at (22,1) width 4: " "
+        LayoutMenuList {SELECT} at (26,0) size 25x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 23x18
             LayoutText (anonymous) at (4,1) size 3x16
               text run at (4,1) width 3: "|"
-        LayoutText {#text} at (55,1) size 4x17
-          text run at (55,1) width 4: " "
-        LayoutMenuList {SELECT} at (59,0) size 80x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 78x18
+        LayoutText {#text} at (51,1) size 4x17
+          text run at (51,1) width 4: " "
+        LayoutMenuList {SELECT} at (55,0) size 78x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 76x18
             LayoutText (anonymous) at (4,1) size 56x16
               text run at (4,1) width 56: "xxxxxxxx"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {DIV} at (0,612.88) size 784x20
-        LayoutInline {FONT} at (0,0) size 137x12
+        LayoutInline {FONT} at (0,0) size 131x12
           LayoutText {#text} at (0,0) size 0x0
-          LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 22x18
+          LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 20x18
               LayoutText (anonymous) at (4,1) size 4x16
                 text run at (4,1) width 4: " "
-          LayoutText {#text} at (24,5) size 3x12
-            text run at (24,5) width 3: " "
-          LayoutMenuList {SELECT} at (27,0) size 27x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 25x18
+          LayoutText {#text} at (22,5) size 3x12
+            text run at (22,5) width 3: " "
+          LayoutMenuList {SELECT} at (25,0) size 25x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 23x18
               LayoutText (anonymous) at (4,1) size 3x16
                 text run at (4,1) width 3: "|"
-          LayoutText {#text} at (54,5) size 3x12
-            text run at (54,5) width 3: " "
-          LayoutMenuList {SELECT} at (57,0) size 80x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 78x18
+          LayoutText {#text} at (50,5) size 3x12
+            text run at (50,5) width 3: " "
+          LayoutMenuList {SELECT} at (53,0) size 78x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 76x18
               LayoutText (anonymous) at (4,1) size 56x16
                 text run at (4,1) width 56: "xxxxxxxx"
           LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
index 9824ba7..25ec45f0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-empty-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
index f48b649d..07a0d11 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
index f89ec50..741301855 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-long-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
index fd9c59e0..c225d20 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-many-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
index 0dfa9aea..a3f7247 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-minimum-font-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
index 39e569b..46d38af 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-rtl-default-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
index 71b7bfc..f84045d1 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-single-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index 7d2fb08f..65496d08 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-tall-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-tall-expected.png
index 4aee8ad..18f5ed8d 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-tall-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-tall-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
index f09c0752..d7daacc 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-texttransform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
index df57854..5574224 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-transform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
index f7f8cb4..44feffd 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
index 45a58d5..1a7d80e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select-popup/popup-menu-appearance-zoom090-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.png
index 896a28a..9d55df2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.txt
index 9e82d83..3bb84c9e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/003-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 51x18
+      LayoutMenuList {SELECT} at (0,0) size 51x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 49x18
           LayoutText (anonymous) at (4,1) size 29x16
             text run at (4,1) width 29: "Hello"
       LayoutBlockFlow (anonymous) at (0,20) size 784x18
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.png
index 1bf856b2..dc41127 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.txt
index 30ee1987..d531ea9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/004-expected.txt
@@ -3,14 +3,14 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 51x18
+      LayoutMenuList {SELECT} at (0,0) size 51x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 49x18
           LayoutText (anonymous) at (4,1) size 29x16
             text run at (4,1) width 29: "Hello"
-      LayoutText {#text} at (53,1) size 4x17
-        text run at (53,1) width 4: " "
-      LayoutMenuList {SELECT} at (57,0) size 76x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 74x18
+      LayoutText {#text} at (51,1) size 4x17
+        text run at (51,1) width 4: " "
+      LayoutMenuList {SELECT} at (55,0) size 74x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 72x18
           LayoutText (anonymous) at (4,1) size 52x16
             text run at (4,1) width 52: "Goodbye"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
index 6d822a6..2547d486 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.txt
index a03a935..a72740d 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label01-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 685x17
         text run at (0,0) width 685: "In the selection list below, the text 'The label for this element is \"1\"' should appear, and not the character '1'"
       LayoutBR {BR} at (684,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 201x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 199x18
+      LayoutMenuList {SELECT} at (0,18) size 199x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 197x18
           LayoutText (anonymous) at (4,1) size 177x16
             text run at (4,1) width 177: "the label for this element is \"1\""
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
index 3051aa5..a1b2e36 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.txt
index 8bc5af5..6ec9eb4 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label02-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 306x17
         text run at (0,0) width 306: "With the label empty, the enclosing text is used."
       LayoutBR {BR} at (305,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 325x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 323x18
+      LayoutMenuList {SELECT} at (0,18) size 323x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 321x18
           LayoutText (anonymous) at (4,1) size 301x16
             text run at (4,1) width 301: "empty label should display empty string to match IE"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
index 32ba71a7..a7ac9339e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.txt
index b5de484..4cafcafb 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label03-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 445x17
         text run at (0,0) width 445: "When the label contains only white space, the containing text is used."
       LayoutBR {BR} at (444,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 358x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 356x18
+      LayoutMenuList {SELECT} at (0,18) size 356x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 354x18
           LayoutText (anonymous) at (4,1) size 334x16
             text run at (4,1) width 334: "white space label should display empty string to match IE"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
index fb5e714e..3d9b9a76 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.txt
index cad179f2..efe351c 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label04-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 610x17
         text run at (0,0) width 610: "The label attribute appears, but is missing the equals value piece, so the containing text is used."
       LayoutBR {BR} at (609,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 484x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 482x18
+      LayoutMenuList {SELECT} at (0,18) size 482x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 480x18
           LayoutText (anonymous) at (4,1) size 460x16
             text run at (4,1) width 460: "the label attribute is mentioned but no value is specified; this text should appear"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
index 363eda20..4faf53f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.txt
index 318b7b9d..8a239b29 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label06-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 731x17
         text run at (0,0) width 731: "The select item below has a label specified, and no enclosed text. There should be no text shown in the select box."
       LayoutBR {BR} at (730,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,18) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
index 4e43fd9..9ffce73 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.txt
index 67d6b16..bad1b3b0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/HTMLOptionElement_label07-expected.txt
@@ -7,8 +7,8 @@
         text run at (0,0) width 756: "The select item below has a label specified, and enclosed text that is whitespace. There should be no text shown in the"
         text run at (0,18) width 69: "select box."
       LayoutBR {BR} at (68,32) size 1x0
-      LayoutMenuList {SELECT} at (0,36) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,36) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
index 517c6b9..001de4e6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.txt
index e0954fd..0c4a5e6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/disabled-select-change-index-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 60x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutMenuList {SELECT} at (0,0) size 58x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 60x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,15) size 0x0
+      LayoutMenuList {SELECT} at (0,20) size 58x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,35) size 0x0
-      LayoutMenuList {SELECT} at (0,40) size 60x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,35) size 0x0
+      LayoutMenuList {SELECT} at (0,40) size 58x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,55) size 0x0
-      LayoutMenuList {SELECT} at (0,60) size 60x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutBR {BR} at (58,55) size 0x0
+      LayoutMenuList {SELECT} at (0,60) size 58x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
-      LayoutBR {BR} at (60,75) size 0x0
+      LayoutBR {BR} at (58,75) size 0x0
       LayoutBR {BR} at (56,113) size 1x0
       LayoutBR {BR} at (56,149) size 1x0
       LayoutBR {BR} at (56,185) size 1x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/input-select-after-resize-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/input-select-after-resize-expected.png
index d565906..122fef2a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/input-select-after-resize-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/input-select-after-resize-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png
index 28bac72..3521f00 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.txt
index 747b6455..75c150b1 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-basic-expected.txt
@@ -3,116 +3,116 @@
 layer at (0,0) size 800x523
   LayoutBlockFlow {HTML} at (0,0) size 800x523
     LayoutBlockFlow {BODY} at (8,8) size 784x507
-      LayoutMenuList {SELECT} at (4,4) size 41x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutMenuList {SELECT} at (4,4) size 39x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,5) size 4x17
-        text run at (49,5) width 4: " "
-      LayoutBR {BR} at (53,5) size 0x17
-      LayoutMenuList {SELECT} at (4,32) size 41x28 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,9) size 39x18
+      LayoutText {#text} at (47,5) size 4x17
+        text run at (47,5) width 4: " "
+      LayoutBR {BR} at (51,5) size 0x17
+      LayoutMenuList {SELECT} at (4,32) size 39x28 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,9) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,41) size 4x17
-        text run at (49,41) width 4: " "
-      LayoutMenuList {SELECT} at (57,40) size 47x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (47,41) size 4x17
+        text run at (47,41) width 4: " "
+      LayoutMenuList {SELECT} at (55,40) size 45x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (108,41) size 4x17
-        text run at (108,41) width 4: " "
-      LayoutMenuList {SELECT} at (116,40) size 41x28 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (104,41) size 4x17
+        text run at (104,41) width 4: " "
+      LayoutMenuList {SELECT} at (112,40) size 39x28 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (161,41) size 4x17
-        text run at (161,41) width 4: " "
-      LayoutMenuList {SELECT} at (169,40) size 47x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (7,1) size 39x18
+      LayoutText {#text} at (155,41) size 4x17
+        text run at (155,41) width 4: " "
+      LayoutMenuList {SELECT} at (163,40) size 45x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (7,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (220,41) size 4x17
-        text run at (220,41) width 4: " "
-      LayoutBR {BR} at (224,41) size 0x17
-      LayoutMenuList {SELECT} at (4,76) size 45x24 [bgcolor=#FFFFFF] [border: (3px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (3,3) size 39x18
+      LayoutText {#text} at (212,41) size 4x17
+        text run at (212,41) width 4: " "
+      LayoutBR {BR} at (216,41) size 0x17
+      LayoutMenuList {SELECT} at (4,76) size 43x24 [bgcolor=#FFFFFF] [border: (3px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (3,3) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (53,79) size 4x17
-        text run at (53,79) width 4: " "
-      LayoutMenuList {SELECT} at (61,78) size 41x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (51,79) size 4x17
+        text run at (51,79) width 4: " "
+      LayoutMenuList {SELECT} at (59,78) size 39x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (106,79) size 4x17
-        text run at (106,79) width 4: " "
-      LayoutBR {BR} at (110,79) size 0x17
-      LayoutMenuList {SELECT} at (4,115) size 41x20 [color=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (102,79) size 4x17
+        text run at (102,79) width 4: " "
+      LayoutBR {BR} at (106,79) size 0x17
+      LayoutMenuList {SELECT} at (4,115) size 39x20 [color=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,116) size 4x17
-        text run at (49,116) width 4: " "
-      LayoutBlockFlow {DIV} at (53,104) size 64x42 [bgcolor=#DBB102]
-        LayoutMenuList {SELECT} at (12,12) size 40x18
-          LayoutBlockFlow (anonymous) at (0,0) size 40x18
+      LayoutText {#text} at (47,116) size 4x17
+        text run at (47,116) width 4: " "
+      LayoutBlockFlow {DIV} at (51,104) size 62x42 [bgcolor=#DBB102]
+        LayoutMenuList {SELECT} at (12,12) size 38x18
+          LayoutBlockFlow (anonymous) at (0,0) size 38x18
             LayoutText (anonymous) at (4,1) size 18x16
               text run at (4,1) width 18: "bar"
-      LayoutText {#text} at (117,116) size 4x17
-        text run at (117,116) width 4: " "
-      LayoutBR {BR} at (121,116) size 0x17
-      LayoutMenuList {SELECT} at (4,150) size 41x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
+      LayoutText {#text} at (113,116) size 4x17
+        text run at (113,116) width 4: " "
+      LayoutBR {BR} at (117,116) size 0x17
+      LayoutMenuList {SELECT} at (4,150) size 39x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
           LayoutText (anonymous) at (4,1) size 17x16
             text run at (4,1) width 17: "foo"
-      LayoutText {#text} at (49,151) size 4x17
-        text run at (49,151) width 4: " "
-      LayoutBR {BR} at (53,151) size 0x17
-      LayoutMenuList {SELECT} at (4,186) size 47x21 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 45x20
+      LayoutText {#text} at (47,151) size 4x17
+        text run at (47,151) width 4: " "
+      LayoutBR {BR} at (51,151) size 0x17
+      LayoutMenuList {SELECT} at (4,186) size 45x21 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 43x20
           LayoutText (anonymous) at (4,1) size 23x17
             text run at (4,1) width 23: "foo"
-      LayoutText {#text} at (55,188) size 4x17
-        text run at (55,188) width 4: " "
-      LayoutMenuList {SELECT} at (63,182) size 52x26 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 50x25
+      LayoutText {#text} at (53,188) size 4x17
+        text run at (53,188) width 4: " "
+      LayoutMenuList {SELECT} at (61,182) size 50x26 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 48x25
           LayoutText (anonymous) at (4,1) size 28x22
             text run at (4,1) width 28: "foo"
-      LayoutText {#text} at (119,188) size 4x17
-        text run at (119,188) width 4: " "
-      LayoutMenuList {SELECT} at (127,178) size 58x31 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 56x30
+      LayoutText {#text} at (115,188) size 4x17
+        text run at (115,188) width 4: " "
+      LayoutMenuList {SELECT} at (123,178) size 56x31 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 54x30
           LayoutText (anonymous) at (4,1) size 34x27
             text run at (4,1) width 34: "foo"
-      LayoutText {#text} at (189,188) size 4x17
-        text run at (189,188) width 4: " "
-      LayoutMenuList {SELECT} at (197,187) size 126x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 124x18
+      LayoutText {#text} at (183,188) size 4x17
+        text run at (183,188) width 4: " "
+      LayoutMenuList {SELECT} at (191,187) size 124x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 122x18
           LayoutText (anonymous) at (4,1) size 102x16
             text run at (4,1) width 102: "September 2016"
-      LayoutText {#text} at (327,188) size 4x17
-        text run at (327,188) width 4: " "
-      LayoutBR {BR} at (331,188) size 0x17
-      LayoutMenuList {SELECT} at (6,229) size 63x26 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 61x25
+      LayoutText {#text} at (319,188) size 4x17
+        text run at (319,188) width 4: " "
+      LayoutBR {BR} at (323,188) size 0x17
+      LayoutMenuList {SELECT} at (6,229) size 60x26 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 58x25
           LayoutText (anonymous) at (6,1) size 28x22
             text run at (6,1) width 28: "foo"
-      LayoutText {#text} at (75,235) size 4x17
-        text run at (75,235) width 4: " "
-      LayoutMenuList {SELECT} at (87,221) size 86x38 [bgcolor=#FFFFFF] [border: (2px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (2,2) size 82x35
+      LayoutText {#text} at (72,235) size 4x17
+        text run at (72,235) width 4: " "
+      LayoutMenuList {SELECT} at (84,221) size 82x38 [bgcolor=#FFFFFF] [border: (2px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (2,2) size 78x35
           LayoutText (anonymous) at (8,2) size 38x30
             text run at (8,2) width 38: "foo"
-      LayoutText {#text} at (181,235) size 4x17
-        text run at (181,235) width 4: " "
-      LayoutMenuList {SELECT} at (187,239) size 35x14 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 33x12
+      LayoutText {#text} at (174,235) size 4x17
+        text run at (174,235) width 4: " "
+      LayoutMenuList {SELECT} at (180,239) size 33x14 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 31x12
           LayoutText (anonymous) at (2,0) size 14x12
             text run at (2,0) width 14: "foo"
-      LayoutText {#text} at (224,235) size 4x17
-        text run at (224,235) width 4: " "
-      LayoutBR {BR} at (228,235) size 0x17
+      LayoutText {#text} at (215,235) size 4x17
+        text run at (215,235) width 4: " "
+      LayoutBR {BR} at (219,235) size 0x17
       LayoutText {#text} at (208,283) size 4x17
         text run at (208,283) width 4: " "
       LayoutBR {BR} at (212,283) size 0x17
@@ -135,31 +135,31 @@
       LayoutText {#text} at (68,442) size 4x17
         text run at (68,442) width 4: " "
       LayoutBR {BR} at (72,442) size 0x17
-      LayoutMenuList {SELECT} at (4,476) size 41x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (49,477) size 4x17
-        text run at (49,477) width 4: " "
-      LayoutMenuList {SELECT} at (57,474) size 45x24 [bgcolor=#FFFFFF] [border: (3px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (3,3) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (106,477) size 4x17
-        text run at (106,477) width 4: " "
-      LayoutMenuList {SELECT} at (114,469) size 55x34 [bgcolor=#FFFFFF] [border: (8px solid #00FF00)]
-        LayoutBlockFlow (anonymous) at (8,8) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (173,477) size 4x17
-        text run at (173,477) width 4: " "
-      LayoutMenuList {SELECT} at (181,476) size 41x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 39x18
-          LayoutText (anonymous) at (18,1) size 17x16
-            text run at (18,1) width 17: "foo"
-      LayoutText {#text} at (226,477) size 4x17
-        text run at (226,477) width 4: " "
-      LayoutBR {BR} at (230,477) size 0x17
+      LayoutMenuList {SELECT} at (4,476) size 39x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (47,477) size 4x17
+        text run at (47,477) width 4: " "
+      LayoutMenuList {SELECT} at (55,474) size 43x24 [bgcolor=#FFFFFF] [border: (3px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (3,3) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (102,477) size 4x17
+        text run at (102,477) width 4: " "
+      LayoutMenuList {SELECT} at (110,469) size 53x34 [bgcolor=#FFFFFF] [border: (8px solid #00FF00)]
+        LayoutBlockFlow (anonymous) at (8,8) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (167,477) size 4x17
+        text run at (167,477) width 4: " "
+      LayoutMenuList {SELECT} at (175,476) size 39x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 37x18
+          LayoutText (anonymous) at (16,1) size 17x16
+            text run at (16,1) width 17: "foo"
+      LayoutText {#text} at (218,477) size 4x17
+        text run at (218,477) width 4: " "
+      LayoutBR {BR} at (222,477) size 0x17
 layer at (12,279) size 200x25 clip at (13,280) size 183x23 scrollHeight 51
   LayoutListBox {SELECT} at (4,271) size 200x25 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
     LayoutBlockFlow {OPTION} at (1,1) size 183x17
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
index 8cc4a1dc..bdce1b9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.txt
index 9249ac5..87b2f45 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-appearance-rtl-expected.txt
@@ -1,8 +1,8 @@
 layer at (0,0) size 800x600
   LayoutView at (0,0) size 800x600
-layer at (0,0) size 800x540
-  LayoutBlockFlow {HTML} at (0,0) size 800x540
-    LayoutBlockFlow {BODY} at (8,16) size 784x516
+layer at (0,0) size 800x539
+  LayoutBlockFlow {HTML} at (0,0) size 800x539
+    LayoutBlockFlow {BODY} at (8,16) size 784x515
       LayoutBlockFlow {P} at (0,0) size 784x36
         LayoutText {#text} at (0,0) size 758x35
           text run at (0,0) width 758: "This tests that bidirectional text is correctly rendered in popup controls. The order of the text below each popup button"
@@ -54,27 +54,27 @@
               text run at (0,0) width 23: "abc"
               text run at (22,0) width 47 RTL: "\x{5D0}\x{5E4}\x{5E8}\x{5E1}\x{5DE}\x{5D5}\x{5DF}"
       LayoutBlockFlow {HR} at (0,236) size 784x2 [border: (1px inset #EEEEEE)]
-      LayoutBlockFlow {DIV} at (0,246) size 784x54
+      LayoutBlockFlow {DIV} at (0,246) size 784x53
         LayoutBlockFlow (anonymous) at (0,0) size 784x18
           LayoutText {#text} at (0,0) size 632x17
             text run at (0,0) width 632: "The following line and the SELECT element should have same text, and no characters are lacking."
-        LayoutBlockFlow {DIV} at (0,18) size 784x16
-          LayoutText {#text} at (0,0) size 101x16
-            text run at (0,0) width 101 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
-        LayoutBlockFlow (anonymous) at (0,34) size 784x20
+        LayoutBlockFlow {DIV} at (0,18) size 784x15
+          LayoutText {#text} at (0,0) size 100x15
+            text run at (0,0) width 100 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
+        LayoutBlockFlow (anonymous) at (0,33) size 784x20
           LayoutMenuList {SELECT} at (0,0) size 113x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
             LayoutBlockFlow (anonymous) at (1,1) size 111x18
               LayoutText (anonymous) at (4,1) size 82x16
                 text run at (4,1) width 82 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
           LayoutText {#text} at (0,0) size 0x0
-      LayoutBlockFlow {HR} at (0,308) size 784x2 [border: (1px inset #EEEEEE)]
-      LayoutBlockFlow {P} at (0,326) size 784x18
+      LayoutBlockFlow {HR} at (0,307) size 784x2 [border: (1px inset #EEEEEE)]
+      LayoutBlockFlow {P} at (0,325) size 784x18
         LayoutText {#text} at (0,0) size 709x17
           text run at (0,0) width 709: "Verify that the alignment and writing direction of each selected item matches the one below the pop-up button."
-layer at (8,376) size 784x156
-  LayoutBlockFlow {DIV} at (0,360) size 784x156
+layer at (8,375) size 784x156
+  LayoutBlockFlow {DIV} at (0,359) size 784x156
     LayoutMultiColumnSet (anonymous) at (0,0) size 784x156
-layer at (8,376) size 384x312 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
+layer at (8,375) size 384x312 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
   LayoutMultiColumnFlowThread (anonymous) at (0,0) size 384x312
     LayoutBlockFlow {DIV} at (0,0) size 384x156
       LayoutMenuList {SELECT} at (0,0) size 350x21 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
index cc1dbd0..4fb896f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.txt
index 67509ea..729b21b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-deselect-update-expected.txt
@@ -5,8 +5,8 @@
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutText {#text} at (0,1) size 75x17
         text run at (0,1) width 75: "Test result: "
-      LayoutMenuList {SELECT} at (74.42,0) size 60x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 58x18
+      LayoutMenuList {SELECT} at (74.42,0) size 58x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 56x18
           LayoutText (anonymous) at (4,1) size 35x16
             text run at (4,1) width 35: "PASS"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-narrow-width-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-narrow-width-expected.txt
index 8aa68f46..5b452e491 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-narrow-width-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-narrow-width-expected.txt
@@ -7,12 +7,12 @@
         text run at (0,0) width 510: "This tests that select elements with a narrow width (1px) are rendered correctly."
       LayoutBR {BR} at (509,14) size 1x0
       LayoutMenuList {SELECT} at (0,18) size 2x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutBR {BR} at (2,33) size 0x0
       LayoutMenuList {SELECT} at (0,38) size 2x20 [bgcolor=#0000FF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
index 02d5724..4be2f573 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.txt
index 8a56c1b..9e1643f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-no-overflow-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 253x17 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 251x15
+      LayoutMenuList {SELECT} at (0,0) size 251x17 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 249x15
           LayoutText (anonymous) at (4,1) size 229x13
             text run at (4,1) width 229: "No overflow should be allowed on popup menus!"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
index ec7c759..3d401c7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.txt
index 65833b57..72b1f6d7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-restrict-line-height-expected.txt
@@ -6,7 +6,7 @@
       LayoutText {#text} at (0,0) size 426x17
         text run at (0,0) width 426: "This tests that we don't honor line-height for styled popup buttons."
       LayoutBR {BR} at (425,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 205x20 [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 203x18
+      LayoutMenuList {SELECT} at (0,18) size 203x20 [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 201x18
           LayoutText (anonymous) at (4,1) size 181x16
             text run at (4,1) width 181: "This text should not be clipped."
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
index e8a2e412..6ea6160 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.txt
index b436714..7150335 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-separator-painting-expected.txt
@@ -5,8 +5,8 @@
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {DIV} at (0,0) size 784x6 [border: (3px solid #FFFFFF)]
       LayoutBlockFlow (anonymous) at (0,6) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #008000)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #008000)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.png
index 42e1ebd..cc89a185 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.txt
index c3dd807..e60ceb9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-style-color-expected.txt
@@ -3,26 +3,26 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 64x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutMenuList {SELECT} at (0,0) size 62x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 40x16
             text run at (4,1) width 40: "Default"
-      LayoutText {#text} at (64,1) size 4x17
-        text run at (64,1) width 4: " "
-      LayoutMenuList {SELECT} at (68,0) size 47x20 [color=#FF0000] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 45x18
+      LayoutText {#text} at (62,1) size 4x17
+        text run at (62,1) width 4: " "
+      LayoutMenuList {SELECT} at (66,0) size 45x20 [color=#FF0000] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 43x18
           LayoutText (anonymous) at (4,1) size 23x16
             text run at (4,1) width 23: "Red"
-      LayoutText {#text} at (115,1) size 4x17
-        text run at (115,1) width 4: " "
-      LayoutMenuList {SELECT} at (119,0) size 118x20 [bgcolor=#008000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 116x18
+      LayoutText {#text} at (111,1) size 4x17
+        text run at (111,1) width 4: " "
+      LayoutMenuList {SELECT} at (115,0) size 116x20 [bgcolor=#008000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 114x18
           LayoutText (anonymous) at (4,1) size 94x16
             text run at (4,1) width 94: "Default on green"
-      LayoutText {#text} at (237,1) size 4x17
-        text run at (237,1) width 4: " "
-      LayoutMenuList {SELECT} at (241,0) size 101x20 [color=#FF0000] [bgcolor=#008000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 99x18
+      LayoutText {#text} at (231,1) size 4x17
+        text run at (231,1) width 4: " "
+      LayoutMenuList {SELECT} at (235,0) size 99x20 [color=#FF0000] [bgcolor=#008000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 97x18
           LayoutText (anonymous) at (4,1) size 77x16
             text run at (4,1) width 77: "Red on green"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
index 7399e39..069f02b5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-update-text-popup-expected.txt
@@ -1,10 +1,10 @@
 Tests <select> text update when popup is visible and selectionIndex changes.
 Needs run-layout-test.
 
-layer at (0,0) size 33x20 backgroundClip at (8,50) size 33x20 clip at (8,50) size 33x20
-  LayoutBlockFlow (positioned) {DIV} at (8,50) size 33x20
-    LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-      LayoutBlockFlow (anonymous) at (1,1) size 31x18
+layer at (0,0) size 31x20 backgroundClip at (8,50) size 31x20 clip at (8,50) size 31x20
+  LayoutBlockFlow (positioned) {DIV} at (8,50) size 31x20
+    LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+      LayoutBlockFlow (anonymous) at (1,1) size 29x18
         LayoutText (anonymous) at (4,1) size 9x16
           text run at (4,1) width 9: "C"
     LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.png
index b72fa52e..3a5b9796 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.txt
index 15e58a54..0da14e8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/menulist-width-change-expected.txt
@@ -10,8 +10,8 @@
         LayoutText {#text} at (0,18) size 375x17
           text run at (0,18) width 375: "that the select automatically recalculates the correct width."
         LayoutBR {BR} at (374,32) size 1x0
-        LayoutMenuList {SELECT} at (0,36) size 136x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 134x18
+        LayoutMenuList {SELECT} at (0,36) size 134x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 132x18
             LayoutText (anonymous) at (4,1) size 31x16
               text run at (4,1) width 31: "Short"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.png
index a0092a5..37db546 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.txt
index 71b8d180..293d4b5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/optgroup-rendering-expected.txt
@@ -7,8 +7,8 @@
         LayoutText {#text} at (80,325) size 4x17
           text run at (80,325) width 4: " "
         LayoutBR {BR} at (84,325) size 0x17
-        LayoutMenuList {SELECT} at (0,343) size 72x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 70x18
+        LayoutMenuList {SELECT} at (0,343) size 70x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 68x18
             LayoutText (anonymous) at (4,1) size 32x16
               text run at (4,1) width 32: "Three"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.png
index 15ba178c..2daf38e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.txt
index 14b172d..58a1d075 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-script-expected.txt
@@ -11,8 +11,8 @@
         text run at (0,18) width 107: "TEST FAILED: "
         text run at (106,18) width 320: "If the popup menu says \"document.write('Text')\". "
       LayoutBR {BR} at (425,32) size 1x0
-      LayoutMenuList {SELECT} at (0,36) size 48x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 46x18
+      LayoutMenuList {SELECT} at (0,36) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 44x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "Text"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
index 8559026..fb939cb 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.txt
index 68370a9..0a0fe43 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-strip-whitespace-expected.txt
@@ -17,24 +17,24 @@
         LayoutBR {BR} at (0,160) size 0x17
         LayoutText {#text} at (0,179) size 306x17
           text run at (0,179) width 306: "Five Spaces (with leading/trailing whitespace): "
-        LayoutMenuList {SELECT} at (305.25,178) size 95x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 93x18
+        LayoutMenuList {SELECT} at (305.25,178) size 93x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 91x18
             LayoutText (anonymous) at (4,1) size 71x16
               text run at (4,1) width 71: "Five Spaces"
-        LayoutBR {BR} at (400,193) size 1x0
+        LayoutBR {BR} at (398,193) size 1x0
         LayoutBR {BR} at (0,198) size 0x17
         LayoutText {#text} at (0,217) size 291x17
           text run at (0,217) width 291: "Five Tabs (with leading/trailing whitespace): "
-        LayoutMenuList {SELECT} at (290.80,216) size 78x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 76x18
+        LayoutMenuList {SELECT} at (290.80,216) size 76x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 74x18
             LayoutText (anonymous) at (4,1) size 54x16
               text run at (4,1) width 54: "Five Tabs"
-        LayoutBR {BR} at (368,231) size 1x0
+        LayoutBR {BR} at (366,231) size 1x0
         LayoutBR {BR} at (0,236) size 0x17
         LayoutText {#text} at (0,255) size 129x17
           text run at (0,255) width 129: "Mixed Whitespace: "
-        LayoutMenuList {SELECT} at (128.84,254) size 78x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 76x18
+        LayoutMenuList {SELECT} at (128.84,254) size 76x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 74x18
             LayoutText (anonymous) at (4,1) size 54x16
               text run at (4,1) width 54: "Five Tabs"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-text-clip-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-text-clip-expected.png
index 8c3ecd709..7470b9c 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-text-clip-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/option-text-clip-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-align-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-align-expected.png
index 9c27a33..d45fd59 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-align-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-align-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.png
index 94477321..ce6535c 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.txt
index 49b32d6..e50bdb8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-background-none-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x36
   LayoutBlockFlow {HTML} at (0,0) size 800x36
     LayoutBlockFlow {BODY} at (8,8) size 784x20 [bgcolor=#666666]
-      LayoutMenuList {SELECT} at (0,0) size 31x20 [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 29x18
+      LayoutMenuList {SELECT} at (0,0) size 29x20 [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 27x18
           LayoutText (anonymous) at (4,1) size 7x16
             text run at (4,1) width 7: "1"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.png
index 86f3abe2..7039d85 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.txt
index 97ca98d..8e3784b9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-baseline-expected.txt
@@ -6,43 +6,43 @@
       LayoutText {#text} at (0,0) size 474x17
         text run at (0,0) width 474: "This tests that empty select controls and buttons have the correct baseline."
       LayoutBR {BR} at (473,14) size 1x0
-      LayoutMenuList {SELECT} at (0,19) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,19) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
-      LayoutText {#text} at (24,20) size 31x17
-        text run at (24,20) width 31: " test "
-      LayoutMenuList {SELECT} at (54.22,19) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutText {#text} at (22,20) size 31x17
+        text run at (22,20) width 31: " test "
+      LayoutMenuList {SELECT} at (52.22,19) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (100,20) size 5x17
-        text run at (100,20) width 5: " "
-      LayoutMenuList {SELECT} at (104.22,19) size 24x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutText {#text} at (96,20) size 5x17
+        text run at (96,20) width 5: " "
+      LayoutMenuList {SELECT} at (100.22,19) size 22x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
-      LayoutText {#text} at (128,20) size 31x17
-        text run at (128,20) width 31: " test "
-      LayoutMenuList {SELECT} at (158.44,19) size 46x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutText {#text} at (122,20) size 31x17
+        text run at (122,20) width 31: " test "
+      LayoutMenuList {SELECT} at (152.44,19) size 44x20 [color=#00008B] [bgcolor=#ADD8E6] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (204,20) size 5x17
-        text run at (204,20) width 5: " "
-      LayoutButton {BUTTON} at (208.44,31) size 16x6 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
-      LayoutText {#text} at (224,20) size 5x17
-        text run at (224,20) width 5: " "
-      LayoutButton {BUTTON} at (228.44,18) size 38x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (196,20) size 5x17
+        text run at (196,20) width 5: " "
+      LayoutButton {BUTTON} at (200.44,31) size 16x6 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (216,20) size 5x17
+        text run at (216,20) width 5: " "
+      LayoutButton {BUTTON} at (220.44,18) size 38x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 22x16
           LayoutText {#text} at (0,0) size 22x16
             text run at (0,0) width 22: "test"
-      LayoutText {#text} at (266,20) size 5x17
-        text run at (266,20) width 5: " "
-      LayoutButton {BUTTON} at (270.44,31) size 16x6 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
-      LayoutText {#text} at (286,20) size 5x17
-        text run at (286,20) width 5: " "
-      LayoutButton {BUTTON} at (290.44,18) size 38x22 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (258,20) size 5x17
+        text run at (258,20) width 5: " "
+      LayoutButton {BUTTON} at (262.44,31) size 16x6 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
+      LayoutText {#text} at (278,20) size 5x17
+        text run at (278,20) width 5: " "
+      LayoutButton {BUTTON} at (282.44,18) size 38x22 [color=#00008B] [bgcolor=#ADD8E6] [border: (2px outset #C0C0C0)]
         LayoutBlockFlow (anonymous) at (8,3) size 22x16
           LayoutText {#text} at (0,0) size 22x16
             text run at (0,0) width 22: "test"
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
index 9fb0822..c10780d 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.txt
index 09b0b30..9280467 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-change-listbox-to-popup-expected.txt
@@ -6,8 +6,8 @@
       LayoutText {#text} at (0,0) size 450x17
         text run at (0,0) width 450: "This tests that you can dynamically change a list box to a popup menu"
       LayoutBR {BR} at (449,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 227x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 225x18
+      LayoutMenuList {SELECT} at (0,18) size 225x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 223x18
           LayoutText (anonymous) at (4,1) size 203x16
             text run at (4,1) width 203: "This should turn into a popup menu"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
index 05bffa9b..ca8edaf 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
index 6c810cc..0965959 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-dirty-parent-pref-widths-expected.txt
@@ -3,12 +3,12 @@
 layer at (0,0) size 800x88
   LayoutBlockFlow {HTML} at (0,0) size 800x88
     LayoutBlockFlow {BODY} at (8,8) size 784x64
-      LayoutTable {TABLE} at (0,0) size 56x30 [border: (1px outset #808080)]
-        LayoutTableSection {TBODY} at (1,1) size 54x28
-          LayoutTableRow {TR} at (0,2) size 54x24
-            LayoutTableCell {TD} at (2,2) size 50x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-              LayoutMenuList {SELECT} at (2,2) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutTable {TABLE} at (0,0) size 54x30 [border: (1px outset #808080)]
+        LayoutTableSection {TBODY} at (1,1) size 52x28
+          LayoutTableRow {TR} at (0,2) size 52x24
+            LayoutTableCell {TD} at (2,2) size 48x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              LayoutMenuList {SELECT} at (2,2) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 42x18
                   LayoutText (anonymous) at (4,1) size 22x16
                     text run at (4,1) width 22: "test"
       LayoutBlockFlow {P} at (0,46) size 784x18
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
index e741d2b..3a7bf29 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.txt
index fc15d0d0..141d132 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-disabled-appearance-expected.txt
@@ -16,14 +16,14 @@
         LayoutText {#text} at (711,0) size 5x17
           text run at (711,0) width 5: "."
       LayoutBlockFlow {P} at (0,34) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 163x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 161x18
+        LayoutMenuList {SELECT} at (0,0) size 161x20 [color=#808080] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 159x18
             LayoutText (anonymous) at (4,1) size 139x16
               text run at (4,1) width 139: "This text should be gray"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {P} at (0,70) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 169x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 167x18
+        LayoutMenuList {SELECT} at (0,0) size 167x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 165x18
             LayoutText (anonymous) at (4,1) size 145x16
               text run at (4,1) width 145: "This text should be black"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.png
index d038320f..007535e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.txt
index 3bddb40..91b7115 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-initial-position-expected.txt
@@ -25,29 +25,29 @@
       LayoutText {#text} at (0,267) size 98x17
         text run at (0,267) width 98: "initial selected:"
       LayoutBR {BR} at (97,281) size 1x0
-      LayoutMenuList {SELECT} at (0,285) size 158x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,285) size 156x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
-      LayoutText {#text} at (158,286) size 4x17
-        text run at (158,286) width 4: " "
-      LayoutBR {BR} at (162,300) size 0x0
+      LayoutText {#text} at (156,286) size 4x17
+        text run at (156,286) width 4: " "
+      LayoutBR {BR} at (160,300) size 0x0
       LayoutText {#text} at (0,305) size 165x17
         text run at (0,305) width 165: "dynamic selected change:"
       LayoutBR {BR} at (164,319) size 1x0
-      LayoutMenuList {SELECT} at (0,323) size 158x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,323) size 156x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
-      LayoutText {#text} at (158,324) size 4x17
-        text run at (158,324) width 4: " "
+      LayoutText {#text} at (156,324) size 4x17
+        text run at (156,324) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,343) size 217x17
         text run at (0,343) width 217: "dynamic insert of selected option:"
       LayoutBR {BR} at (216,357) size 1x0
-      LayoutMenuList {SELECT} at (0,361) size 158x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 156x18
+      LayoutMenuList {SELECT} at (0,361) size 156x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 154x18
           LayoutText (anonymous) at (4,1) size 134x16
             text run at (4,1) width 134: "this should be selected"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.png
index 6a95e133..cd4b475 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.txt
index fe79a8c..92be9a23 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-selected-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 274x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 272x18
+      LayoutMenuList {SELECT} at (0,0) size 272x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 270x18
           LayoutText (anonymous) at (4,1) size 180x16
             text run at (4,1) width 180: "should see this option selected"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.png
index 708fd248..0a86814 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.txt
index 0aae05e3..d0831e5 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-size-invalid-expected.txt
@@ -7,8 +7,8 @@
         text run at (0,0) width 782: "This tests that a malformed size attribute will be parsed and corrected so that the right size attribute value is used to match"
         text run at (0,18) width 441: "the style rule that determines whether to use a menu list or a list box."
       LayoutBR {BR} at (440,32) size 1x0
-      LayoutMenuList {SELECT} at (0,36) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,36) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.png
index b93755f..5df0207 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.txt
index 3b499dd..ea88bfd 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-style-expected.txt
@@ -7,67 +7,67 @@
         text run at (0,0) width 256: "This tests that styled popups look right. "
         text run at (255,0) width 310: "(Aqua for now- later, we will honor the styling)."
       LayoutBR {BR} at (564,14) size 1x0
-      LayoutMenuList {SELECT} at (0,18) size 46x20 [bgcolor=#FF0000] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,18) size 44x20 [bgcolor=#FF0000] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (46,19) size 4x17
-        text run at (46,19) width 4: " "
-      LayoutBR {BR} at (50,33) size 0x0
+      LayoutText {#text} at (44,19) size 4x17
+        text run at (44,19) width 4: " "
+      LayoutBR {BR} at (48,33) size 0x0
       LayoutText {#text} at (0,38) size 541x17
         text run at (0,38) width 541: "This tests that background color is white by default regardless of the parent element."
       LayoutBR {BR} at (540,52) size 1x0
-      LayoutInline {SPAN} at (0,0) size 60x27 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x27 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,56) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,56) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,57) size 4x17
-          text run at (51,57) width 4: " "
+        LayoutText {#text} at (49,57) size 4x17
+          text run at (49,57) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,76) size 642x17
         text run at (0,76) width 642: "This tests that background color is inherited from the parent if background-color:inherit is specified."
       LayoutBR {BR} at (641,90) size 1x0
-      LayoutInline {SPAN} at (0,0) size 60x27 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x27 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,94) size 46x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,94) size 44x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,95) size 4x17
-          text run at (51,95) width 4: " "
+        LayoutText {#text} at (49,95) size 4x17
+          text run at (49,95) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,114) size 653x17
         text run at (0,114) width 653: "This tests that background color is the same as the parent if background-color:transparent is specified."
       LayoutBR {BR} at (652,128) size 1x0
-      LayoutInline {SPAN} at (0,0) size 60x27 [bgcolor=#FF0000]
+      LayoutInline {SPAN} at (0,0) size 58x27 [bgcolor=#FF0000]
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (5,132) size 46x20 [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 44x18
+        LayoutMenuList {SELECT} at (5,132) size 44x20 [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 42x18
             LayoutText (anonymous) at (4,1) size 22x16
               text run at (4,1) width 22: "test"
-        LayoutText {#text} at (51,133) size 4x17
-          text run at (51,133) width 4: " "
+        LayoutText {#text} at (49,133) size 4x17
+          text run at (49,133) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
       LayoutBR {BR} at (0,0) size 0x0
       LayoutText {#text} at (0,152) size 509x17
         text run at (0,152) width 509: "This tests that background is white if only background-image:none is specified."
       LayoutBR {BR} at (508,166) size 1x0
-      LayoutMenuList {SELECT} at (0,170) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,170) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
-      LayoutText {#text} at (46,171) size 4x17
-        text run at (46,171) width 4: " "
-      LayoutBR {BR} at (50,185) size 0x0
+      LayoutText {#text} at (44,171) size 4x17
+        text run at (44,171) width 4: " "
+      LayoutBR {BR} at (48,185) size 0x0
       LayoutText {#text} at (0,190) size 430x17
         text run at (0,190) width 430: "This tests that the image specified for background-image is visible."
       LayoutBR {BR} at (429,204) size 1x0
-      LayoutMenuList {SELECT} at (0,208) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 44x18
+      LayoutMenuList {SELECT} at (0,208) size 44x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 42x18
           LayoutText (anonymous) at (4,1) size 22x16
             text run at (4,1) width 22: "test"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
index b641cc8..62e41e7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.txt
index d9e74f6e..691bf1b6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-visual-hebrew-expected.txt
@@ -11,8 +11,8 @@
         LayoutText {#text} at (0,0) size 389x17
           text run at (0,0) width 389 LTR override: "Text on the pop-up and in the list should look like this: \x{5E8}\x{5D5}\x{5EA}\x{5E4}\x{5DB}"
       LayoutBlockFlow (anonymous) at (0,86) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 55x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 53x18
+        LayoutMenuList {SELECT} at (0,0) size 53x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 51x18
             LayoutText (anonymous) at (4,1) size 31x16
               text run at (4,1) width 31 RTL: "\x{5DB}\x{5E4}\x{5EA}\x{5D5}\x{5E8}"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
index cd83ebc2..1a6f65f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/select-writing-direction-natural-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.png
index c61ff94..e070975d 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.txt
index 16067ba6..6c4445a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/select/selectlist-minsize-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x36
   LayoutBlockFlow {HTML} at (0,0) size 800x36
     LayoutBlockFlow {BODY} at (8,8) size 784x20
-      LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 22x18
+      LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 20x18
           LayoutText (anonymous) at (4,1) size 4x16
             text run at (4,1) width 4: " "
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
index c0ff671..65356eb 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.txt
index b142310c..87b8d71 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/forms/stuff-on-my-optgroup-expected.txt
@@ -3,13 +3,13 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 64x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutMenuList {SELECT} at (0,0) size 62x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "One"
-      LayoutBR {BR} at (64,15) size 0x0
-      LayoutMenuList {SELECT} at (0,20) size 64x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 62x18
+      LayoutBR {BR} at (62,15) size 0x0
+      LayoutMenuList {SELECT} at (0,20) size 62x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 60x18
           LayoutText (anonymous) at (4,1) size 24x16
             text run at (4,1) width 24: "One"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.png
index 0e680ab..5707094 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.txt
index c1678bb9..2053d4f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/html/keygen-expected.txt
@@ -4,9 +4,9 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutBlockFlow {KEYGEN} at (0,0) size 149x20
-        LayoutMenuList {SELECT} at (0,0) size 149x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 147x18
+      LayoutBlockFlow {KEYGEN} at (0,0) size 147x20
+        LayoutMenuList {SELECT} at (0,0) size 147x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 145x18
             LayoutText (anonymous) at (4,1) size 105x16
               text run at (4,1) width 105: "2048 (High Grade)"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.png
index 3de6427b..c6aece93 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.txt
index 2d6b58a..cf2b538 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/invalid/014-expected.txt
@@ -9,17 +9,17 @@
           text run at (288,0) width 324: "H2 should allow a form inside it, but p should not."
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {FORM} at (0,18) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 31x18
+        LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 29x18
             LayoutText (anonymous) at (4,1) size 9x16
               text run at (4,1) width 9: "A"
         LayoutText {#text} at (0,0) size 0x0
       LayoutBlockFlow {P} at (0,54) size 784x0
-layer at (470,46) size 37x48
-  LayoutBlockFlow (positioned) {H2} at (470,45.91) size 37x48 [border: (2px solid #008000)]
-    LayoutBlockFlow {FORM} at (2,2) size 33x20
-      LayoutMenuList {SELECT} at (0,0) size 33x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 31x18
+layer at (470,46) size 35x48
+  LayoutBlockFlow (positioned) {H2} at (470,45.91) size 35x48 [border: (2px solid #008000)]
+    LayoutBlockFlow {FORM} at (2,2) size 31x20
+      LayoutMenuList {SELECT} at (0,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 29x18
           LayoutText (anonymous) at (4,1) size 9x16
             text run at (4,1) width 9: "A"
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.png
index 04cae73..b157dce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.txt
index 8b27b94..36f7487 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/parser/document-write-option-expected.txt
@@ -3,8 +3,8 @@
 layer at (0,0) size 800x600
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
-      LayoutMenuList {SELECT} at (0,0) size 340x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-        LayoutBlockFlow (anonymous) at (1,1) size 338x18
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
           LayoutText (anonymous) at (4,1) size 316x16
             text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
       LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.png
index 49e114a..7807cd2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.txt
index cfda48b..bc15ec4 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-expected.txt
@@ -28,12 +28,12 @@
             LayoutText {#text} at (0,0) size 36x16
               text run at (0,0) width 36: "button"
         LayoutText {#text} at (0,0) size 0x0
-        LayoutMenuList {SELECT} at (1,187) size 59x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 57x18
+        LayoutMenuList {SELECT} at (1,187) size 57x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 55x18
             LayoutText (anonymous) at (4,1) size 35x16
               text run at (4,1) width 35: "select"
-        LayoutMenuList {SELECT} at (1,207) size 59x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 57x18
+        LayoutMenuList {SELECT} at (1,207) size 57x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 55x18
             LayoutText (anonymous) at (4,1) size 35x16
               text run at (4,1) width 35: "select"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
index e0c5b55a..dda5ecf 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.txt
index 64d6d32..9954c63 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/replaced-breaking-mixture-expected.txt
@@ -10,8 +10,8 @@
       LayoutBlockFlow {DIV} at (0,43) size 10x38
         LayoutText {#text} at (0,0) size 25x17
           text run at (0,0) width 25: "Foo"
-        LayoutMenuList {SELECT} at (0,18) size 48x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 46x18
+        LayoutMenuList {SELECT} at (0,18) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 44x18
             LayoutText (anonymous) at (4,1) size 24x16
               text run at (4,1) width 24: "One"
       LayoutBlockFlow {DIV} at (0,81) size 10x40
@@ -23,8 +23,8 @@
         LayoutText {#text} at (0,25) size 25x17
           text run at (0,25) width 25: "Foo"
       LayoutBlockFlow {DIV} at (0,164) size 10x38
-        LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 46x18
+        LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 44x18
             LayoutText (anonymous) at (4,1) size 24x16
               text run at (4,1) width 24: "One"
         LayoutText {#text} at (0,20) size 25x17
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.png
index d9b762b..050b716 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.txt
index 920c53b..a9280cd 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/three-selects-break-expected.txt
@@ -4,15 +4,15 @@
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {DIV} at (0,0) size 5x60
-        LayoutMenuList {SELECT} at (0,0) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,0) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutMenuList {SELECT} at (0,20) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,20) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
-        LayoutMenuList {SELECT} at (0,40) size 24x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 22x18
+        LayoutMenuList {SELECT} at (0,40) size 22x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 20x18
             LayoutText (anonymous) at (4,1) size 4x16
               text run at (4,1) width 4: " "
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/width100percent-menulist-expected.txt b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/width100percent-menulist-expected.txt
index 2194fa7..218b430d 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/replaced/width100percent-menulist-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/replaced/width100percent-menulist-expected.txt
@@ -11,17 +11,17 @@
           LayoutTableRow {TR} at (0,1) size 784x22
             LayoutTableCell {TD} at (1,1) size 4x22 [r=0 c=0 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 21x16
                     text run at (4,1) width 21: "one"
             LayoutTableCell {TD} at (6,1) size 4x22 [r=0 c=1 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 20x16
                     text run at (4,1) width 20: "two"
             LayoutTableCell {TD} at (11,1) size 4x22 [r=0 c=2 rs=1 cs=1]
               LayoutMenuList {SELECT} at (1,1) size 2x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 22x18
+                LayoutBlockFlow (anonymous) at (1,1) size 20x18
                   LayoutText (anonymous) at (4,1) size 29x16
                     text run at (4,1) width 29: "three"
             LayoutTableCell {TD} at (16,2) size 767x20 [r=0 c=3 rs=1 cs=1]
diff --git a/third_party/WebKit/LayoutTests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/WebKit/LayoutTests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
index 2eb35bf..97902c2a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.png
index 100c10d..9c7074f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.txt
index d8a0841c..f5de7fc 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug1188-expected.txt
@@ -15,22 +15,22 @@
               LayoutTableCell {TD} at (2,55) size 594x40 [bgcolor=#99CCCC] [r=1 c=0 rs=1 cs=3]
                 LayoutInline {FONT} at (0,0) size 133x16
                   LayoutInline {B} at (0,0) size 133x16
-                    LayoutText {#text} at (37,4) size 133x16
-                      text run at (37,4) width 133: "Search the Web with"
-                LayoutText {#text} at (169,3) size 5x17
-                  text run at (169,3) width 5: " "
-                LayoutMenuList {SELECT} at (173.88,2) size 79x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 77x18
+                    LayoutText {#text} at (38,4) size 133x16
+                      text run at (38,4) width 133: "Search the Web with"
+                LayoutText {#text} at (170,3) size 5x17
+                  text run at (170,3) width 5: " "
+                LayoutMenuList {SELECT} at (174.88,2) size 77x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 75x18
                     LayoutText (anonymous) at (4,1) size 55x16
                       text run at (4,1) width 55: "Netscape"
-                LayoutTextControl {INPUT} at (252.88,1) size 243x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-                LayoutText {#text} at (495,3) size 5x17
-                  text run at (495,3) width 5: " "
-                LayoutButton {INPUT} at (499.88,1) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+                LayoutTextControl {INPUT} at (251.88,1) size 243x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+                LayoutText {#text} at (494,3) size 5x17
+                  text run at (494,3) width 5: " "
+                LayoutButton {INPUT} at (498.88,1) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 41x16
                     LayoutText {#text} at (0,0) size 41x16
                       text run at (0,0) width 41: "Search"
-                LayoutBR {BR} at (556,17) size 1x0
+                LayoutBR {BR} at (555,17) size 1x0
                 LayoutInline {SMALL} at (0,0) size 556x15
                   LayoutInline {A} at (0,0) size 99x15 [color=#0000EE]
                     LayoutText {#text} at (19,23) size 99x15
@@ -136,5 +136,5 @@
                   LayoutTableSection {TBODY} at (0,0) size 0x1
                     LayoutTableRow {TR} at (0,0) size 0x1
                       LayoutTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
-layer at (265,77) size 239x16
+layer at (264,77) size 239x16
   LayoutBlockFlow {DIV} at (2,3) size 239x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.png
index c51ae61..d8547b4a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt
index 95768e3..1b7ff5a 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt
@@ -28,8 +28,8 @@
                   LayoutText {#text} at (1,1) size 104x17
                     text run at (1,1) width 104: "Run Test Case:"
               LayoutTableCell {TD} at (110,29) size 490x22 [r=1 c=1 rs=1 cs=1]
-                LayoutMenuList {SELECT} at (1,1) size 269x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 267x18
+                LayoutMenuList {SELECT} at (1,1) size 267x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 265x18
                     LayoutText (anonymous) at (4,1) size 77x16
                       text run at (4,1) width 77: "a_abortinstall"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
index d5945024..8af8486 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt
index ce80d77..b9c838b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt
@@ -66,16 +66,16 @@
         LayoutBlockFlow {P} at (0,0) size 769x44
           LayoutText {#text} at (0,2) size 267x17
             text run at (0,2) width 267: "How does your browser fare on this test? "
-          LayoutMenuList {SELECT} at (266.59,1) size 248x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 246x18
+          LayoutMenuList {SELECT} at (266.59,1) size 246x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 244x18
               LayoutText (anonymous) at (4,1) size 151x16
                 text run at (4,1) width 151: "The test renders correctly."
-          LayoutText {#text} at (514,2) size 5x17
-            text run at (514,2) width 5: " "
+          LayoutText {#text} at (512,2) size 5x17
+            text run at (512,2) width 5: " "
           LayoutInline {LABEL} at (0,0) size 246x17
-            LayoutText {#text} at (518,2) size 73x17
-              text run at (518,2) width 73: "Comment: "
-            LayoutTextControl {INPUT} at (590.14,0) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+            LayoutText {#text} at (516,2) size 73x17
+              text run at (516,2) width 73: "Comment: "
+            LayoutTextControl {INPUT} at (588.14,0) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
           LayoutText {#text} at (0,0) size 0x0
           LayoutButton {INPUT} at (0,22) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
             LayoutBlockFlow (anonymous) at (8,3) size 41x16
@@ -115,5 +115,5 @@
       LayoutBlockFlow {P} at (0,626.06) size 769x18
         LayoutText {#text} at (0,0) size 185x17
           text run at (0,0) width 185: "Last updated in March 1999."
-layer at (600,471) size 169x16
+layer at (598,471) size 169x16
   LayoutBlockFlow {DIV} at (2,3) size 169x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt
index 402c4eb6..8037b95c 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt
@@ -184,16 +184,16 @@
         LayoutBlockFlow {P} at (0,0) size 769x62
           LayoutText {#text} at (0,0) size 263x17
             text run at (0,0) width 263: "How does your browser fare on this test?"
-          LayoutMenuList {SELECT} at (0,19) size 505x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 503x18
+          LayoutMenuList {SELECT} at (0,19) size 503x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 501x18
               LayoutText (anonymous) at (4,1) size 480x16
                 text run at (4,1) width 480: "The tests all render identically, and this browser may or may not grok CSS2 tables."
-          LayoutText {#text} at (505,20) size 4x17
-            text run at (505,20) width 4: " "
+          LayoutText {#text} at (503,20) size 4x17
+            text run at (503,20) width 4: " "
           LayoutInline {LABEL} at (0,0) size 245x17
-            LayoutText {#text} at (509,20) size 72x17
-              text run at (509,20) width 72: "Comment: "
-            LayoutTextControl {INPUT} at (580.55,18) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+            LayoutText {#text} at (507,20) size 72x17
+              text run at (507,20) width 72: "Comment: "
+            LayoutTextControl {INPUT} at (578.55,18) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
           LayoutText {#text} at (0,0) size 0x0
           LayoutButton {INPUT} at (0,40) size 57x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
             LayoutBlockFlow (anonymous) at (8,3) size 41x16
@@ -239,5 +239,5 @@
       LayoutBlockFlow {P} at (0,2543.78) size 769x18
         LayoutText {#text} at (0,0) size 185x17
           text run at (0,0) width 185: "Last updated in March 1999."
-layer at (591,2354) size 169x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
+layer at (589,2354) size 169x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
   LayoutBlockFlow {DIV} at (2,3) size 169x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.png
index 585d43b4..43a574e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.txt
index 5de7ab1..a7c4936 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug29326-expected.txt
@@ -8,8 +8,8 @@
           LayoutTableRow {TR} at (0,2) size 398x40
             LayoutTableCell {TD} at (2,2) size 394x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {FORM} at (2,2) size 390x20
-                LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 46x18
+                LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 44x18
                     LayoutText (anonymous) at (4,1) size 24x16
                       text run at (4,1) width 24: "Test"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.png
index 74e1161c..055e6fa 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt
index f0691ade..d8fbda6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt
@@ -22,17 +22,17 @@
                   LayoutBlockFlow (anonymous) at (8,3) size 71x16
                     LayoutText {#text} at (0,0) size 71x16
                       text run at (0,0) width 71: "Empty trash"
-              LayoutTableCell {TD} at (224,6) size 378x20 [r=0 c=3 rs=1 cs=1]
+              LayoutTableCell {TD} at (224,6) size 380x20 [r=0 c=3 rs=1 cs=1]
                 LayoutText {#text} at (1,1) size 4x17
                   text run at (1,1) width 4: " "
-              LayoutTableCell {TD} at (604,2) size 67x24 [r=0 c=4 rs=1 cs=1]
+              LayoutTableCell {TD} at (606,2) size 67x24 [r=0 c=4 rs=1 cs=1]
                 LayoutButton {INPUT} at (1,1) size 65x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
                   LayoutBlockFlow (anonymous) at (8,3) size 49x16
                     LayoutText {#text} at (0,0) size 49x16
                       text run at (0,0) width 49: "Move to:"
-              LayoutTableCell {TD} at (673,4) size 109x22 [r=0 c=5 rs=1 cs=1]
-                LayoutMenuList {SELECT} at (1,1) size 107x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 105x18
+              LayoutTableCell {TD} at (675,4) size 107x22 [r=0 c=5 rs=1 cs=1]
+                LayoutMenuList {SELECT} at (1,1) size 105x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 103x18
                     LayoutText (anonymous) at (4,1) size 83x16
                       text run at (4,1) width 83: "Choose folder "
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.png
index 5cc70fb..de362fce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.txt
index f5efde8..fa6ca5a9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug4382-expected.txt
@@ -16,8 +16,8 @@
         LayoutTextControl {INPUT} at (50.81,0) size 159x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
         LayoutText {#text} at (209,2) size 5x17
           text run at (209,2) width 5: " "
-        LayoutMenuList {SELECT} at (213.81,1) size 72x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 70x18
+        LayoutMenuList {SELECT} at (213.81,1) size 70x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 68x18
             LayoutText (anonymous) at (4,1) size 37x16
               text run at (4,1) width 37: "Excite"
         LayoutText {#text} at (0,0) size 0x0
@@ -27,8 +27,8 @@
           text run at (0,18) width 270: "The select should not contain blank items "
         LayoutBR {BR} at (269,32) size 1x0
       LayoutBlockFlow {FORM} at (0,92) size 784x20
-        LayoutMenuList {SELECT} at (0,0) size 252x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 250x18
+        LayoutMenuList {SELECT} at (0,0) size 250x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 248x18
             LayoutText (anonymous) at (4,1) size 62x16
               text run at (4,1) width 62: "Quick Link"
 layer at (61,29) size 155x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.png
index 0732be1..d24b6f7 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.txt
index 5bc3bfc..ffb6ab87 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/bugs/bug96334-expected.txt
@@ -1,41 +1,41 @@
-layer at (0,0) size 800x600 scrollWidth 1007
+layer at (0,0) size 800x600 scrollWidth 1005
   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
-      LayoutTable {TABLE} at (0,0) size 999x144 [border: (2px solid #0000FF)]
-        LayoutTableSection {TBODY} at (2,2) size 995x140
-          LayoutTableRow {TR} at (0,2) size 995x136
-            LayoutTableCell {TD} at (2,2) size 233x136 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
-              LayoutTable {TABLE} at (2,2) size 229x132 [border: (2px solid #008000)]
-                LayoutTableSection {TBODY} at (2,2) size 225x128
-                  LayoutTableRow {TR} at (0,2) size 225x86
-                    LayoutTableCell {TD} at (2,2) size 221x86 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+      LayoutTable {TABLE} at (0,0) size 997x144 [border: (2px solid #0000FF)]
+        LayoutTableSection {TBODY} at (2,2) size 993x140
+          LayoutTableRow {TR} at (0,2) size 993x136
+            LayoutTableCell {TD} at (2,2) size 231x136 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+              LayoutTable {TABLE} at (2,2) size 227x132 [border: (2px solid #008000)]
+                LayoutTableSection {TBODY} at (2,2) size 223x128
+                  LayoutTableRow {TR} at (0,2) size 223x86
+                    LayoutTableCell {TD} at (2,2) size 219x86 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                       LayoutTable {TABLE} at (2,2) size 185x34 [border: (2px solid #FF0000)]
                         LayoutTableSection {TBODY} at (2,2) size 181x30
                           LayoutTableRow {TR} at (0,2) size 181x26
                             LayoutTableCell {TD} at (2,2) size 177x26 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                               LayoutTextControl {INPUT} at (2,2) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
                               LayoutText {#text} at (0,0) size 0x0
-                      LayoutTable {TABLE} at (2,36) size 217x48 [border: (2px solid #FF0000)]
-                        LayoutTableSection {TBODY} at (2,2) size 213x44
-                          LayoutTableRow {TR} at (0,2) size 213x40
-                            LayoutTableCell {TD} at (2,2) size 209x40 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+                      LayoutTable {TABLE} at (2,36) size 215x48 [border: (2px solid #FF0000)]
+                        LayoutTableSection {TBODY} at (2,2) size 211x44
+                          LayoutTableRow {TR} at (0,2) size 211x40
+                            LayoutTableCell {TD} at (2,2) size 207x40 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
                               LayoutText {#text} at (2,2) size 195x35
                                 text run at (2,2) width 195: "THIS TABLE NEEDS TO BE"
                                 text run at (2,20) width 42: "HERE"
-                  LayoutTableRow {TR} at (0,90) size 225x36
-                    LayoutTableCell {TD} at (2,90) size 221x36 [border: (1px solid #C0C0C0)] [r=1 c=0 rs=1 cs=1]
-                      LayoutTable {TABLE} at (2,2) size 217x32 [border: (2px solid #FF0000)]
-                        LayoutTableSection {TBODY} at (2,2) size 213x28
-                          LayoutTableRow {TR} at (0,2) size 213x24
-                            LayoutTableCell {TD} at (2,2) size 209x24 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
-                              LayoutMenuList {SELECT} at (2,2) size 205x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                                LayoutBlockFlow (anonymous) at (1,1) size 203x18
+                  LayoutTableRow {TR} at (0,90) size 223x36
+                    LayoutTableCell {TD} at (2,90) size 219x36 [border: (1px solid #C0C0C0)] [r=1 c=0 rs=1 cs=1]
+                      LayoutTable {TABLE} at (2,2) size 215x32 [border: (2px solid #FF0000)]
+                        LayoutTableSection {TBODY} at (2,2) size 211x28
+                          LayoutTableRow {TR} at (0,2) size 211x24
+                            LayoutTableCell {TD} at (2,2) size 207x24 [border: (1px solid #C0C0C0)] [r=0 c=0 rs=1 cs=1]
+                              LayoutMenuList {SELECT} at (2,2) size 203x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                                LayoutBlockFlow (anonymous) at (1,1) size 201x18
                                   LayoutText (anonymous) at (4,1) size 181x16
                                     text run at (4,1) width 181: "USE THIS JAVASCRIPT HERE"
                               LayoutText {#text} at (0,0) size 0x0
-            LayoutTableCell {TD} at (237,2) size 756x40 [border: (1px solid #C0C0C0)] [r=0 c=1 rs=1 cs=1]
+            LayoutTableCell {TD} at (235,2) size 756x40 [border: (1px solid #C0C0C0)] [r=0 c=1 rs=1 cs=1]
               LayoutText {#text} at (2,2) size 752x35
                 text run at (2,2) width 752: "KEEPoTHEoTEXToHEREoASoLONGoASoPOSSIBLEooKEEPoTHEoTEXToHEREoASoLONGoASoPOSSIBLE"
                 text run at (2,20) width 602: "THIS SIMULATES THE PROBLEM ON THE WWW.MAPBLAST.COM/ \"CREATE MAP\""
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.png
index 60ec6c4..39166986 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.txt
index 336a668a..dd630f42 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/core/margins-expected.txt
@@ -11,8 +11,8 @@
           LayoutTableRow {TR} at (0,2) size 398x40
             LayoutTableCell {TD} at (2,2) size 394x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
               LayoutBlockFlow {FORM} at (2,2) size 390x20
-                LayoutMenuList {SELECT} at (0,0) size 48x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 46x18
+                LayoutMenuList {SELECT} at (0,0) size 46x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 44x18
                     LayoutText (anonymous) at (4,1) size 24x16
                       text run at (4,1) width 24: "Test"
                 LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.png
index 1771ede..bee0b61 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt
index aa710a4..9bfd5f1 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt
@@ -4,28 +4,28 @@
   LayoutBlockFlow {HTML} at (0,0) size 800x600
     LayoutBlockFlow {BODY} at (8,8) size 784x584
       LayoutBlockFlow {FORM} at (0,0) size 784x22
-        LayoutMenuList {SELECT} at (0,1) size 90x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (1,1) size 88x18
+        LayoutMenuList {SELECT} at (0,1) size 88x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (1,1) size 86x18
             LayoutText (anonymous) at (4,1) size 66x16
               text run at (4,1) width 66: "append cell"
-        LayoutText {#text} at (90,2) size 53x17
-          text run at (90,2) width 53: "   tbody "
-        LayoutTextControl {INPUT} at (142.44,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (210,2) size 42x17
-          text run at (210,2) width 42: "   row "
-        LayoutTextControl {INPUT} at (251.31,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (319,2) size 36x17
-          text run at (319,2) width 36: "   col "
-        LayoutTextControl {INPUT} at (354.86,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (422,2) size 76x17
-          text run at (422,2) width 76: "   row span "
-        LayoutTextControl {INPUT} at (497.06,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (565,2) size 69x17
-          text run at (565,2) width 69: "   col span "
-        LayoutTextControl {INPUT} at (633.94,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
-        LayoutText {#text} at (701,2) size 21x17
-          text run at (701,2) width 21: "     "
-        LayoutButton {INPUT} at (721.94,0) size 43x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
+        LayoutText {#text} at (88,2) size 53x17
+          text run at (88,2) width 53: "   tbody "
+        LayoutTextControl {INPUT} at (140.44,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (208,2) size 42x17
+          text run at (208,2) width 42: "   row "
+        LayoutTextControl {INPUT} at (249.31,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (317,2) size 36x17
+          text run at (317,2) width 36: "   col "
+        LayoutTextControl {INPUT} at (352.86,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (420,2) size 76x17
+          text run at (420,2) width 76: "   row span "
+        LayoutTextControl {INPUT} at (495.06,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (563,2) size 69x17
+          text run at (563,2) width 69: "   col span "
+        LayoutTextControl {INPUT} at (631.94,0) size 68x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)]
+        LayoutText {#text} at (699,2) size 21x17
+          text run at (699,2) width 21: "     "
+        LayoutButton {INPUT} at (719.94,0) size 43x22 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
           LayoutBlockFlow (anonymous) at (8,3) size 27x16
             LayoutText {#text} at (0,0) size 27x16
               text run at (0,0) width 27: "Do It"
@@ -47,23 +47,23 @@
                 text run at (2,2) width 24: "c22"
       LayoutBlockFlow (anonymous) at (0,108) size 784x18
         LayoutBR {BR} at (0,0) size 0x17
-layer at (152,11) size 64x16
+layer at (150,11) size 64x16
   LayoutBlockFlow {DIV} at (2,3) size 64x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (261,11) size 64x16
+layer at (259,11) size 64x16
   LayoutBlockFlow {DIV} at (2,3) size 64x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (365,11) size 64x16
+layer at (363,11) size 64x16
   LayoutBlockFlow {DIV} at (2,3) size 64x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "0"
-layer at (507,11) size 64x16
+layer at (505,11) size 64x16
   LayoutBlockFlow {DIV} at (2,3) size 64x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "1"
-layer at (644,11) size 64x16
+layer at (642,11) size 64x16
   LayoutBlockFlow {DIV} at (2,3) size 64x16
     LayoutText {#text} at (0,0) size 7x16
       text run at (0,0) width 7: "1"
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
index 38f577a1..7d3c6ec 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
index b8a587fc..29a8ed66 100644
--- a/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
@@ -1,21 +1,21 @@
-layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollHeight 1392
+layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollHeight 1410
   LayoutView at (0,0) size 800x600
-layer at (8,8) size 769x1376 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600
-  LayoutBlockFlow {HTML} at (8,8) size 769x1376 [border: (16px solid #00FF00)]
-    LayoutTable (anonymous) at (16,16) size 737x1344
-      LayoutTableSection (anonymous) at (0,0) size 737x1344
-        LayoutTableRow (anonymous) at (0,0) size 737x1344
-          LayoutTableCell {HEAD} at (0,0) size 206x544 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
-            LayoutBlockFlow {META} at (21,37) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,55) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,73) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {META} at (21,91) size 164x2 [border: (1px dotted #FFFFFF)]
-            LayoutBlockFlow {TITLE} at (21,109) size 164x56 [border: (1px dotted #FFFFFF)]
+layer at (8,8) size 769x1394 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600
+  LayoutBlockFlow {HTML} at (8,8) size 769x1394 [border: (16px solid #00FF00)]
+    LayoutTable (anonymous) at (16,16) size 737x1362
+      LayoutTableSection (anonymous) at (0,0) size 737x1362
+        LayoutTableRow (anonymous) at (0,0) size 737x1362
+          LayoutTableCell {HEAD} at (0,0) size 208x544 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
+            LayoutBlockFlow {META} at (21,37) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,55) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,73) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {META} at (21,91) size 166x2 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {TITLE} at (21,109) size 166x56 [border: (1px dotted #FFFFFF)]
               LayoutText {#text} at (1,1) size 141x53
                 text run at (1,1) width 139: "Evil Tests: Rendering"
                 text run at (1,19) width 139: "BODY and HEAD as"
                 text run at (1,37) width 141: "children of HTML - 2"
-            LayoutBlockFlow {STYLE} at (21,181) size 164x326 [border: (1px dotted #FFFFFF)]
+            LayoutBlockFlow {STYLE} at (21,181) size 166x326 [border: (1px dotted #FFFFFF)]
               LayoutText {#text} at (1,1) size 158x323
                 text run at (1,1) width 83: "/* Layout */ "
                 text run at (83,1) width 58: "HTML {"
@@ -39,8 +39,8 @@
                 text run at (1,271) width 121: "background: red; }"
                 text run at (1,289) width 151: "BODY { color: yellow;"
                 text run at (1,307) width 124: "background: teal; }"
-          LayoutTableCell {BODY} at (206,41) size 531x1303 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
-            LayoutBlockFlow {H1} at (21,53) size 489x76 [border: (1px dotted #FFFF00)]
+          LayoutTableCell {BODY} at (208,41) size 529x1321 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
+            LayoutBlockFlow {H1} at (21,53) size 487x76 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 152x36
                 text run at (1,1) width 152: "Rendering "
               LayoutInline {CODE} at (0,0) size 63x30
@@ -59,7 +59,7 @@
                   text run at (156,45) width 64: "HTML"
               LayoutText {#text} at (219,38) size 43x36
                 text run at (219,38) width 43: " - 2"
-            LayoutBlockFlow {P} at (21,161) size 489x38 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,161) size 487x38 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 393x17
                 text run at (1,1) width 393: "If you have any comments to make regarding this test, e-mail"
               LayoutInline {A} at (0,0) size 186x17 [color=#0000EE]
@@ -67,11 +67,11 @@
                   text run at (1,19) width 186: "py8ieh=eviltests@bath.ac.uk"
               LayoutText {#text} at (186,19) size 5x17
                 text run at (186,19) width 5: "."
-            LayoutBlockFlow {DL} at (21,215) size 489x92 [border: (1px dotted #FFFF00)]
-              LayoutBlockFlow {DT} at (1,1) size 487x18
+            LayoutBlockFlow {DL} at (21,215) size 487x92 [border: (1px dotted #FFFF00)]
+              LayoutBlockFlow {DT} at (1,1) size 485x18
                 LayoutText {#text} at (0,0) size 83x17
                   text run at (0,0) width 83: "Prerequisites"
-              LayoutBlockFlow {DD} at (41,19) size 447x72
+              LayoutBlockFlow {DD} at (41,19) size 445x72
                 LayoutText {#text} at (0,0) size 424x53
                   text run at (0,0) width 392: "Browsers that are subjected to this test should support the the"
                   text run at (0,18) width 424: "background, padding, margin, border and color properties of CSS,"
@@ -82,62 +82,63 @@
                 LayoutText {#text} at (187,36) size 434x35
                   text run at (187,36) width 247: " property and fixed position stuff from"
                   text run at (0,54) width 41: "CSS2."
-            LayoutBlockFlow {H2} at (21,331) size 489x56 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {H2} at (21,331) size 487x56 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 440x53
                 text run at (1,1) width 440: "1. Making the BODY and the HEAD into a"
                 text run at (1,28) width 51: "table"
-            LayoutBlockFlow {P} at (21,411) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,411) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 264x17
                 text run at (1,1) width 264: "This is really evil, but completely valid..."
-            LayoutBlockFlow {P} at (21,447) size 489x92 [border: (1px dotted #FFFF00)]
-              LayoutText {#text} at (1,1) size 487x89
-                text run at (1,1) width 487: "This document should have two cells, side by side: one on the left, the other"
-                text run at (1,19) width 454: "on the right. The one on the left should be red with white writing and a"
-                text run at (1,37) width 476: "thick white border. It should contain four dotted lines separated by a blank"
-                text run at (1,55) width 475: "line, followed by a dotted bordered box containing the document title, and"
-                text run at (1,73) width 471: "another dotted bordered box containing the stylesheet, also shown below:"
-            LayoutBlockFlow {PRE} at (21,555) size 489x18 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,447) size 487x110 [border: (1px dotted #FFFF00)]
+              LayoutText {#text} at (1,1) size 483x107
+                text run at (1,1) width 450: "This document should have two cells, side by side: one on the left, the"
+                text run at (1,19) width 479: "other on the right. The one on the left should be red with white writing and"
+                text run at (1,37) width 448: "a thick white border. It should contain four dotted lines separated by a"
+                text run at (1,55) width 455: "blank line, followed by a dotted bordered box containing the document"
+                text run at (1,73) width 483: "title, and another dotted bordered box containing the stylesheet, also shown"
+                text run at (1,91) width 44: "below:"
+            LayoutBlockFlow {PRE} at (21,573) size 487x18 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 40x16
                 text run at (1,1) width 40: "  ..."
                 text run at (41,1) width 0: " "
-            LayoutBlockFlow {P} at (21,589) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,607) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 463x17
                 text run at (1,1) width 463: "The dotted borders and lines and the text in the left cell should be white."
-            LayoutBlockFlow {P} at (21,625) size 489x38 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,643) size 487x38 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 447x35
                 text run at (1,1) width 447: "The right cell should be teal, with yellow text. This paragraph you are"
                 text run at (1,19) width 255: "reading now should be in this right cell."
-            LayoutBlockFlow {P} at (21,679) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,697) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 454x17
                 text run at (1,1) width 454: "The width of the two cells is left up to the user agent to decide, I think."
-            LayoutBlockFlow {P} at (21,715) size 489x74 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,733) size 487x74 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 485x71
                 text run at (1,1) width 471: "The right cell should look similar to the left cell in formatting -- each box"
                 text run at (1,19) width 482: "of text should have a yellow dotted border, and there should be a blank line"
                 text run at (1,37) width 485: "between each such box. No box should be nested -- the dotted boxes should"
                 text run at (1,55) width 224: "always be distinct from each other."
-            LayoutBlockFlow {P} at (21,805) size 489x38 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,823) size 487x38 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 482x35
                 text run at (1,1) width 482: "The cells should be the same height, and they should have grown vertically"
                 text run at (1,19) width 165: "to accommodate this text."
-            LayoutBlockFlow {P} at (21,859) size 489x56 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,877) size 487x56 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 482x53
                 text run at (1,1) width 479: "Around the whole setup should be two borders, dark green and light green."
                 text run at (1,19) width 482: "The cells should be separated from each other and from these outer borders"
                 text run at (1,37) width 141: "by 1em of dark green."
-            LayoutBlockFlow {P} at (21,931) size 489x38 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,949) size 487x38 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 446x35
                 text run at (1,1) width 446: "There should also be some alternate stylesheets set up to allow you to"
                 text run at (1,19) width 388: "display the <META> content. This may help with diagnosis."
-            LayoutBlockFlow {H2} at (21,993) size 489x29 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {H2} at (21,1011) size 487x29 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 156x26
                 text run at (1,1) width 156: "Submit Results"
-            LayoutBlockFlow {FORM} at (21,1046) size 489x94 [border: (1px dotted #FFFF00)]
-              LayoutBlockFlow {P} at (1,17) size 487x60
+            LayoutBlockFlow {FORM} at (21,1064) size 487x94 [border: (1px dotted #FFFF00)]
+              LayoutBlockFlow {P} at (1,17) size 485x60
                 LayoutText {#text} at (0,0) size 263x17
                   text run at (0,0) width 263: "How does your browser fare on this test?"
-                LayoutMenuList {SELECT} at (0,18) size 487x20 [color=#000000] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                  LayoutBlockFlow (anonymous) at (1,1) size 485x18
+                LayoutMenuList {SELECT} at (0,18) size 485x20 [color=#000000] [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                  LayoutBlockFlow (anonymous) at (1,1) size 483x18
                     LayoutText (anonymous) at (4,1) size 234x16
                       text run at (4,1) width 234: "Document renders exactly as described."
                 LayoutText {#text} at (0,0) size 0x0
@@ -152,14 +153,14 @@
                     LayoutText {#text} at (0,0) size 41x16
                       text run at (0,0) width 41: "Submit"
                 LayoutText {#text} at (0,0) size 0x0
-            LayoutBlockFlow {HR} at (21,1156) size 489x2 [border: (1px dotted #FFFF00)]
-            LayoutBlockFlow {P} at (21,1174) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {HR} at (21,1174) size 487x2 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1192) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutInline {A} at (0,0) size 162x17 [color=#0000EE]
                 LayoutText {#text} at (1,1) size 162x17
                   text run at (1,1) width 162: "Up to the Evil Tests Page"
               LayoutText {#text} at (162,1) size 5x17
                 text run at (162,1) width 5: "."
-            LayoutBlockFlow {P} at (21,1210) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1228) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 177x17
                 text run at (1,1) width 177: "This page is maintained by "
               LayoutInline {A} at (0,0) size 79x17 [color=#0000EE]
@@ -172,8 +173,8 @@
                   text run at (264,1) width 125: "py8ieh@bath.ac.uk"
               LayoutText {#text} at (388,1) size 10x17
                 text run at (388,1) width 10: ")."
-            LayoutBlockFlow {P} at (21,1246) size 489x20 [border: (1px dotted #FFFF00)]
+            LayoutBlockFlow {P} at (21,1264) size 487x20 [border: (1px dotted #FFFF00)]
               LayoutText {#text} at (1,1) size 172x17
                 text run at (1,1) width 172: "Last updated in June 1999."
-layer at (326,1169) size 169x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
+layer at (328,1187) size 169x16 backgroundClip at (0,0) size 0x0 clip at (0,0) size 0x0
   LayoutBlockFlow {DIV} at (2,3) size 169x16
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.png b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.png
index 90ea0d3..e2af92f2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.txt b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.txt
index d229d83..5400016f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/transforms/2d/zoom-menulist-expected.txt
@@ -7,8 +7,8 @@
         LayoutText {#text} at (0,1) size 409x53
           text run at (0,1) width 409: "Zooming Menu List"
       LayoutBlockFlow (anonymous) at (0,87.16) size 776x83
-        LayoutMenuList {SELECT} at (0,0) size 264x83 [bgcolor=#FFFFFF] [border: (4px solid #A9A9A9)]
-          LayoutBlockFlow (anonymous) at (4,4) size 256x77
+        LayoutMenuList {SELECT} at (0,0) size 255x83 [bgcolor=#FFFFFF] [border: (4px solid #A9A9A9)]
+          LayoutBlockFlow (anonymous) at (4,4) size 247x77
             LayoutText (anonymous) at (18,5) size 114x67
               text run at (18,5) width 114: "One"
         LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
new file mode 100644
index 0000000..97902c2a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/webfont/popup-menu-load-webfont-after-open-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
index 04cae73..b157dce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt
new file mode 100644
index 0000000..36f7487
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_coalesce/fast/parser/document-write-option-expected.txt
@@ -0,0 +1,10 @@
+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
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
+          LayoutText (anonymous) at (4,1) size 316x16
+            text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
+      LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
index 04cae73..b157dce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt
new file mode 100644
index 0000000..36f7487
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/parsehtmlonmainthread_sync/fast/parser/document-write-option-expected.txt
@@ -0,0 +1,10 @@
+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
+      LayoutMenuList {SELECT} at (0,0) size 338x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+        LayoutBlockFlow (anonymous) at (1,1) size 336x18
+          LayoutText (anonymous) at (4,1) size 316x16
+            text run at (4,1) width 316: "This is a very long string so it makes the select bigger."
+      LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
index ff92c27..ddc79ef 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
index 34b959a8..3539607 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.txt
@@ -21,123 +21,123 @@
         layer at (0,0) size 300x761
           LayoutBlockFlow {HTML} at (0,0) size 300x761
             LayoutBlockFlow {BODY} at (8,8) size 284x745
-              LayoutMenuList {SELECT} at (5,0) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,0) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,25) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,25) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,50) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,50) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,75) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,75) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,100) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,100) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,125) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,125) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,150) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,150) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,175) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,175) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,200) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,200) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,225) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,225) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,250) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,250) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,275) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,275) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,300) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,300) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,325) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,325) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,350) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,350) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,375) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,375) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,400) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,400) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,425) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,425) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,450) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,450) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,475) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,475) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,500) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,500) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,525) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,525) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,550) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,550) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,575) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,575) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,600) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,600) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,625) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,625) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,650) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,650) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,675) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,675) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,700) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,700) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
-              LayoutMenuList {SELECT} at (5,725) size 31x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-                LayoutBlockFlow (anonymous) at (1,1) size 29x18
+              LayoutMenuList {SELECT} at (5,725) size 29x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+                LayoutBlockFlow (anonymous) at (1,1) size 27x18
                   LayoutText (anonymous) at (4,1) size 7x16
                     text run at (4,1) width 7: "0"
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
index 1c06abcc7..92f4ed67 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor150/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
index 07e6052..2beb2c4 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
index 07e6052..2beb2c4 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/scalefactor200withzoom/fast/hidpi/static/popup-menu-appearance-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/block/margin-collapse/103-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/block/margin-collapse/103-expected.png
index 4ac5f5c..f74d408e 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/fast/block/margin-collapse/103-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/fast/block/margin-collapse/103-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
index 18905944..eda463788 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select-popup/popup-menu-appearance-styled-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
index e3595ad..32745794 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.txt
index a397a4f..0dfa1a3 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/win7/fast/forms/select/menulist-appearance-rtl-expected.txt
@@ -62,8 +62,8 @@
           LayoutText {#text} at (0,0) size 87x16
             text run at (0,0) width 87 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
         LayoutBlockFlow (anonymous) at (0,34) size 784x20
-          LayoutMenuList {SELECT} at (0,0) size 115x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
-            LayoutBlockFlow (anonymous) at (1,1) size 113x18
+          LayoutMenuList {SELECT} at (0,0) size 113x20 [bgcolor=#FFFFFF] [border: (1px solid #A9A9A9)]
+            LayoutBlockFlow (anonymous) at (1,1) size 111x18
               LayoutText (anonymous) at (4,1) size 82x16
                 text run at (4,1) width 82 RTL: "\x{627}\x{644}\x{627}\x{642}\x{62A}\x{631}\x{627}\x{62D}\x{627}\x{62A} / \x{627}\x{644}\x{634}\x{643}\x{627}\x{648}\x{64A}"
           LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html b/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html
new file mode 100644
index 0000000..45842af
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/shapedetection/detection-ImageData.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<script src="../resources/testharness.js"></script>
+<script src="../resources/testharnessreport.js"></script>
+<script src="../resources/mojo-helpers.js"></script>
+<script src="resources/mock-barcodedetection.js"></script>
+<script src="resources/mock-facedetection.js"></script>
+<script>
+
+var createTestForImageData = function(createDetector, mockReady,
+                                      detectionResultTest) {
+  async_test(function(t) {
+
+    var img = new Image();
+    img.onload = function() {
+
+      var canvas = document.createElement("canvas");;
+      canvas.getContext("2d").drawImage(img, 0, 0);
+
+      var theMock = null;
+      mockReady()
+        .then(mock => {
+          theMock = mock;
+          var detector = createDetector();
+          return detector;
+        })
+        .catch(error => {
+          assert_unreached("Error creating Mock Detector: " + error);
+        })
+        .then(detector => {
+          return detector.detect(canvas.getContext("2d").getImageData(
+              0, 0, canvas.width, canvas.height));
+        })
+        .then(detectionResult => {
+          detectionResultTest(detectionResult, theMock);
+          t.done();
+        })
+        .catch(error => {
+          assert_unreached("Error during detect(canvas): " + error);
+        });
+    }
+
+    img.src = "../media/content/greenbox.png";
+  }, "Detector detect(ImageData)");
+};
+
+function FaceDetectorDetectionResultTest(detectionResult, mock) {
+  const imageReceivedByMock = mock.getFrameData();
+  assert_equals(imageReceivedByMock.byteLength, 180000,"Image length");
+  const GREEN_PIXEL = 0xFF00FF00;
+  assert_equals(imageReceivedByMock[0], GREEN_PIXEL, "Pixel color");
+  assert_equals(detectionResult.length, 3, "Number of faces");
+}
+
+function BarcodeDetectorDetectionResultTest(detectionResult, mock) {
+  assert_equals(detectionResult.length, 2, "Number of barcodes");
+  assert_equals(detectionResult[0].rawValue, "cats", "barcode 1");
+  assert_equals(detectionResult[1].rawValue, "dogs", "barcode 2");
+}
+
+// These tests verify that a Detector's detect() works on an ImageBitmap. Use
+// the mock mojo server implemented in mock-{barcode,face}detection.js.
+generate_tests(createTestForImageData, [
+  [
+    "Face - ImageData",
+    () => { return new FaceDetector(); },
+    () => { return mockFaceDetectionProviderReady; },
+    FaceDetectorDetectionResultTest
+  ],
+  [
+    "Barcode - ImageData",
+    () => { return new BarcodeDetector(); },
+    () => { return mockBarcodeDetectionReady; },
+    BarcodeDetectorDetectionResultTest
+  ],
+]);
+
+</script>
diff --git a/third_party/WebKit/Source/bindings/scripts/code_generator.py b/third_party/WebKit/Source/bindings/scripts/code_generator.py
index ad78bd3..3d7aff3 100644
--- a/third_party/WebKit/Source/bindings/scripts/code_generator.py
+++ b/third_party/WebKit/Source/bindings/scripts/code_generator.py
@@ -103,6 +103,13 @@
     return sorted(normalized_include_paths)
 
 
+def render_template(template, context):
+    filename = str(template.filename)
+    filename = filename[filename.rfind("third_party"):]
+    context["jinja_template_filename"] = filename
+    return template.render(context)
+
+
 class CodeGeneratorBase(object):
     """Base class for jinja-powered jinja template generation.
     """
@@ -143,8 +150,8 @@
 
         template_context['cpp_includes'] = normalize_and_sort_includes(includes)
 
-        header_text = header_template.render(template_context)
-        cpp_text = cpp_template.render(template_context)
+        header_text = render_template(header_template, template_context)
+        cpp_text = render_template(cpp_template, template_context)
         return header_text, cpp_text
 
     def generate_code(self, definitions, definition_name):
diff --git a/third_party/WebKit/Source/bindings/scripts/code_generator_v8.py b/third_party/WebKit/Source/bindings/scripts/code_generator_v8.py
index 844adf9ca..29feb03 100644
--- a/third_party/WebKit/Source/bindings/scripts/code_generator_v8.py
+++ b/third_party/WebKit/Source/bindings/scripts/code_generator_v8.py
@@ -48,7 +48,7 @@
 import os
 import posixpath
 
-from code_generator import CodeGeneratorBase, normalize_and_sort_includes
+from code_generator import CodeGeneratorBase, render_template, normalize_and_sort_includes
 from idl_definitions import Visitor
 from idl_types import IdlType
 import v8_callback_function
@@ -301,8 +301,8 @@
         template_context['exported'] = self.info_provider.specifier_for_export
         name = shorten_union_name(union_type)
         template_context['this_include_header_name'] = name
-        header_text = header_template.render(template_context)
-        cpp_text = cpp_template.render(template_context)
+        header_text = render_template(header_template, template_context)
+        cpp_text = render_template(cpp_template, template_context)
         header_path = posixpath.join(self.output_dir, '%s.h' % name)
         cpp_path = posixpath.join(self.output_dir, '%s.cpp' % name)
         return (
@@ -356,8 +356,8 @@
         template_context['header_includes'] = normalize_and_sort_includes(
             template_context['header_includes'])
         template_context['code_generator'] = MODULE_PYNAME
-        header_text = header_template.render(template_context)
-        cpp_text = cpp_template.render(template_context)
+        header_text = render_template(header_template, template_context)
+        cpp_text = render_template(cpp_template, template_context)
         header_path = posixpath.join(self.output_dir, '%s.h' % callback_function.name)
         cpp_path = posixpath.join(self.output_dir, '%s.cpp' % callback_function.name)
         return (
diff --git a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module.py b/third_party/WebKit/Source/bindings/scripts/code_generator_web_module.py
index 41a927f..4128751 100644
--- a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module.py
+++ b/third_party/WebKit/Source/bindings/scripts/code_generator_web_module.py
@@ -22,7 +22,7 @@
 import os
 import posixpath
 
-from code_generator import CodeGeneratorBase
+from code_generator import CodeGeneratorBase, render_template
 # TODO(dglazkov): Move TypedefResolver to code_generator.py
 from code_generator_v8 import TypedefResolver
 
@@ -135,8 +135,8 @@
 
         cpp_template = self.get_template('cpp')
         header_template = self.get_template('h')
-        cpp_text = cpp_template.render(template_context)
-        header_text = header_template.render(template_context)
+        cpp_text = render_template(cpp_template, template_context)
+        header_text = render_template(header_template, template_context)
         header_path, cpp_path = self.output_paths(interface.name)
 
         return (
diff --git a/third_party/WebKit/Source/bindings/templates/copyright_block.txt b/third_party/WebKit/Source/bindings/templates/copyright_block.txt
index d224ebc..97af09c 100644
--- a/third_party/WebKit/Source/bindings/templates/copyright_block.txt
+++ b/third_party/WebKit/Source/bindings/templates/copyright_block.txt
@@ -5,4 +5,7 @@
 // This file has been auto-generated by {{code_generator}}.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// {{jinja_template_filename}}
+
 // clang-format off
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.cpp b/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.cpp
index 127d259..035a160 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "AnyCallbackFunctionOptionalAnyArg.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.h b/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.h
index a15e0bfc..6e6bc45c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/AnyCallbackFunctionOptionalAnyArg.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef AnyCallbackFunctionOptionalAnyArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp
index 1b503ee..45bdf4e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "ArrayBufferOrArrayBufferViewOrDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.h
index 0b4cd4a1..f38aa05 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/ArrayBufferOrArrayBufferViewOrDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef ArrayBufferOrArrayBufferViewOrDictionary_h
 #define ArrayBufferOrArrayBufferViewOrDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.cpp b/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.cpp
index 3b2c79e..bd5f4f0 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "BooleanOrStringOrUnrestrictedDouble.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.h b/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.h
index 92a52a4..45b87e5b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/BooleanOrStringOrUnrestrictedDouble.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef BooleanOrStringOrUnrestrictedDouble_h
 #define BooleanOrStringOrUnrestrictedDouble_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.cpp b/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.cpp
index e32844b..cb0bda7 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "DoubleOrString.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.h b/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.h
index 6fe9575..78685452 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/DoubleOrString.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef DoubleOrString_h
 #define DoubleOrString_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.cpp b/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.cpp
index 83fedefe..7332d11 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "LongCallbackFunction.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.h b/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.h
index 4494661..35a299b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/LongCallbackFunction.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef LongCallbackFunction_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.cpp
index 84f9477..a783dd4f 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "LongOrTestDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.h
index 5d55ce9..f53fbcf3 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/LongOrTestDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef LongOrTestDictionary_h
 #define LongOrTestDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.cpp b/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.cpp
index 3f17719..5f1f7c2 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "NodeOrNodeList.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.h b/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.h
index ca0f77d..20a3714 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/NodeOrNodeList.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef NodeOrNodeList_h
 #define NodeOrNodeList_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.cpp b/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.cpp
index 94abe71..facec37 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "StringOrArrayBufferOrArrayBufferView.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.h b/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.h
index 993bc8d..609a5e4 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrArrayBufferOrArrayBufferView.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef StringOrArrayBufferOrArrayBufferView_h
 #define StringOrArrayBufferOrArrayBufferView_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.cpp b/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.cpp
index 72e5021..e71f1be4 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "StringOrDouble.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.h b/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.h
index 75c17d4..2015b85 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrDouble.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef StringOrDouble_h
 #define StringOrDouble_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.cpp b/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.cpp
index 727f67c7..de8cf1ba 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "StringOrStringSequence.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.h b/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.h
index b9ca062..a08f93e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringOrStringSequence.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef StringOrStringSequence_h
 #define StringOrStringSequence_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.cpp b/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.cpp
index 71f17ec..f0b5ca1 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "StringSequenceCallbackFunctionLongSequenceArg.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.h b/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.h
index 35323da..795ba99 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/StringSequenceCallbackFunctionLongSequenceArg.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef StringSequenceCallbackFunctionLongSequenceArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp
index ac8eb9b9..3a0b98e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.cpp.tmpl
+
 // clang-format off
 #include "TestDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.h
index 512ab593..413c434 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.h.tmpl
+
 // clang-format off
 #ifndef TestDictionary_h
 #define TestDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp
index a55f3af..7474c86 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.cpp.tmpl
+
 // clang-format off
 #include "TestDictionaryDerivedImplementedAs.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.h b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.h
index c20b4be..5c4ee1ec 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestDictionaryDerivedImplementedAs.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.h.tmpl
+
 // clang-format off
 #ifndef TestDictionaryDerivedImplementedAs_h
 #define TestDictionaryDerivedImplementedAs_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.cpp
index 2d82d24..a33abc5 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "TestEnumOrDouble.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.h b/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.h
index 3626068..ffa744ae 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestEnumOrDouble.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef TestEnumOrDouble_h
 #define TestEnumOrDouble_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.cpp
index a5be16e..abe25c0f 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "TestInterface2OrUint8Array.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.h b/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.h
index 41891949..41108da 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterface2OrUint8Array.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef TestInterface2OrUint8Array_h
 #define TestInterface2OrUint8Array_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.cpp
index 5d05e2f..90e25287 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.cpp.tmpl
+
 // clang-format off
 #include "TestInterfaceEventInit.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.h b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.h
index 8f5fd8fd..139a4eff 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceEventInit.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.h.tmpl
+
 // clang-format off
 #ifndef TestInterfaceEventInit_h
 #define TestInterfaceEventInit_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.cpp
index 72a56115..5deb10b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "TestInterfaceGarbageCollectedOrString.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.h b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.h
index cd6aa9e..bb8511c5 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceGarbageCollectedOrString.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef TestInterfaceGarbageCollectedOrString_h
 #define TestInterfaceGarbageCollectedOrString_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.cpp
index 6e39ed3..0a8e109e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "TestInterfaceOrLong.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.h b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.h
index a6be202..72fedd6 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrLong.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef TestInterfaceOrLong_h
 #define TestInterfaceOrLong_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.cpp
index 524c394..9ed8731f 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "TestInterfaceOrTestInterfaceEmpty.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.h b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.h
index d3185fd4..7c2aaa3e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestInterfaceOrTestInterfaceEmpty.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef TestInterfaceOrTestInterfaceEmpty_h
 #define TestInterfaceOrTestInterfaceEmpty_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.cpp
index 2fd3431..043a3c6d 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.cpp.tmpl
+
 // clang-format off
 #include "TestPermissiveDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.h
index 296a4e0..d1f5bb6 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/TestPermissiveDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_impl.h.tmpl
+
 // clang-format off
 #ifndef TestPermissiveDictionary_h
 #define TestPermissiveDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.cpp b/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.cpp
index 8940c124..2afa98b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "UnrestrictedDoubleOrString.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.h b/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.h
index bd76f88..955d18b3 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/UnrestrictedDoubleOrString.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef UnrestrictedDoubleOrString_h
 #define UnrestrictedDoubleOrString_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp
index 10943d5..5c97de33 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8ArrayBuffer.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h
index 113f68e..6c7eec0 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBuffer.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8ArrayBuffer_h
 #define V8ArrayBuffer_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp
index d09b349..63fb7f45 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8ArrayBufferView.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h
index b8a53c5..0873a7e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8ArrayBufferView.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8ArrayBufferView_h
 #define V8ArrayBufferView_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp
index e8c26377..15028f9c5 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8DataView.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.h b/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.h
index 8b70867..f3b80b93 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8DataView.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8DataView_h
 #define V8DataView_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
index 527f843..c9323d4 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8SVGTestInterface.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h
index c4e790f..fbd8138 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8SVGTestInterface.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8SVGTestInterface_h
 #define V8SVGTestInterface_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
index a73c799b..33bb9f41 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestCallbackFunctions.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h
index f487718..d207c69d 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackFunctions.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestCallbackFunctions_h
 #define V8TestCallbackFunctions_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.cpp
index ffbc01b..aed27ab 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestCallbackInterface.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.h
index f7f2a8c..182f129 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestCallbackInterface.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestCallbackInterface_h
 #define V8TestCallbackInterface_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
index 4fe897d..d2f5aab 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestConstants.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h
index a9e4ee71..7bf1606 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestConstants.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestConstants_h
 #define V8TestConstants_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
index 769593e..86b918a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl
+
 // clang-format off
 #include "V8TestDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.h
index 32fdbf7..dd24d72 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.h.tmpl
+
 // clang-format off
 #ifndef V8TestDictionary_h
 #define V8TestDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
index d2a8ba54..b98e03c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl
+
 // clang-format off
 #include "V8TestDictionaryDerived.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.h
index 97d25be..17959e56 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestDictionaryDerived.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.h.tmpl
+
 // clang-format off
 #ifndef V8TestDictionaryDerived_h
 #define V8TestDictionaryDerived_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
index a0d6bee9..2e205dd 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestException.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
index dba80983..a894d6db 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestException.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestException_h
 #define V8TestException_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
index 858cc956..1e9a04b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestIntegerIndexed.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h
index 68e8c04..1096624 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestIntegerIndexed_h
 #define V8TestIntegerIndexed_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
index 66b21ca..6aa59fee 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestIntegerIndexedGlobal.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h
index 3332601..d75a969e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestIntegerIndexedGlobal_h
 #define V8TestIntegerIndexedGlobal_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
index b5061959..41c948e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestIntegerIndexedPrimaryGlobal.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h
index e1663a4a..ff1f6de 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestIntegerIndexedPrimaryGlobal_h
 #define V8TestIntegerIndexedPrimaryGlobal_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
index 3681f32..38bbb895 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterface.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
index 32216296..72cb020 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterface_h
 #define V8TestInterface_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
index 6ad434f..dafd1b68 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterface2.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
index dc2f285..951f741af 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterface2_h
 #define V8TestInterface2_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
index 493a476..57f3c96 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterface3.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h
index 01da6f29..19ec5cd 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterface3_h
 #define V8TestInterface3_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
index a0937545..26c10a4 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceCheckSecurity.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h
index 85695c8..5f7924c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceCheckSecurity_h
 #define V8TestInterfaceCheckSecurity_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
index 073cb97b..c077a2a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceConstructor.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
index 81dea8f..e6b1ffe 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceConstructor_h
 #define V8TestInterfaceConstructor_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
index 7604f16..d44460f 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceConstructor2.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
index b9a8aae1..36821f8 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor2.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceConstructor2_h
 #define V8TestInterfaceConstructor2_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp
index dfd9950b..c193576 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceConstructor3.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
index 3bd8003..f758f1f138 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor3.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceConstructor3_h
 #define V8TestInterfaceConstructor3_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp
index a7ab60d1..4770d06c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceConstructor4.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
index e779657e..ee04478 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceConstructor4.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceConstructor4_h
 #define V8TestInterfaceConstructor4_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp
index 0633098..c925a99d 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceCustomConstructor.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
index b1a34f9..68e2e15 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCustomConstructor.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceCustomConstructor_h
 #define V8TestInterfaceCustomConstructor_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
index d4a9b58..3a96a4eb 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceDocument.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h
index c9a8d598..1fc0301 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceDocument.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceDocument_h
 #define V8TestInterfaceDocument_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp
index 7149d8f..b0184d32 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceEmpty.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h
index 02ff679..42705b9 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEmpty.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceEmpty_h
 #define V8TestInterfaceEmpty_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.cpp
index 876e804..289d11b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceEventInit.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.h
index 0a42b3ac..71799ff 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInit.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceEventInit_h
 #define V8TestInterfaceEventInit_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
index cfd4c44..962e002 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceEventInitConstructor.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
index 993da64..efee3f9 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventInitConstructor.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceEventInitConstructor_h
 #define V8TestInterfaceEventInitConstructor_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp
index dba40dc8..dc21ced 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceEventTarget.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
index ad832c98..11588cb7 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceEventTarget.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceEventTarget_h
 #define V8TestInterfaceEventTarget_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
index 7052d2a..f507b06 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceGarbageCollected.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
index f83af87f1..5a0df83 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceGarbageCollected.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceGarbageCollected_h
 #define V8TestInterfaceGarbageCollected_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
index 30c33d7..055ffb2 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceNamedConstructor.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
index f892650..20b61d80 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceNamedConstructor_h
 #define V8TestInterfaceNamedConstructor_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp
index efe2250..2c0f0bfb 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceNamedConstructor2.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
index 2dd5c65..23888fe 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNamedConstructor2.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceNamedConstructor2_h
 #define V8TestInterfaceNamedConstructor2_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
index 5b7a1e1..4eacd434b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceNode.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h
index 27f9513..4c2f7d3 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceNode.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceNode_h
 #define V8TestInterfaceNode_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
index ad0327e..0148a47 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceOriginTrialEnabled.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h
index 01c614c9..7de1919b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceOriginTrialEnabled.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceOriginTrialEnabled_h
 #define V8TestInterfaceOriginTrialEnabled_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
index 9d4767e..e9d5477 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfaceSecureContext.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h
index 26dc02b7..522935b 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceSecureContext.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfaceSecureContext_h
 #define V8TestInterfaceSecureContext_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
index 7908670..9526a134 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestNode.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
index 63d79aba..a3d456a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestNode.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestNode_h
 #define V8TestNode_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
index 557061c..c424f027 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestObject.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h
index 01c3adb..b9918a781 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestObject_h
 #define V8TestObject_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.cpp
index e130201b..51f8411 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.cpp.tmpl
+
 // clang-format off
 #include "V8TestPermissiveDictionary.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.h
index 6db2e700f..9311f42 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestPermissiveDictionary.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/dictionary_v8.h.tmpl
+
 // clang-format off
 #ifndef V8TestPermissiveDictionary_h
 #define V8TestPermissiveDictionary_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
index a74efeaa..2fdfe2c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestSpecialOperations.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h
index 5c734909..e3658e9 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestSpecialOperations_h
 #define V8TestSpecialOperations_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
index b14a241..de916157 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestSpecialOperationsNotEnumerable.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h
index ea6d52b..22aae511 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestSpecialOperationsNotEnumerable_h
 #define V8TestSpecialOperationsNotEnumerable_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
index 4d63eb8..1838221 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestTypedefs.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h
index a2f84c48..da46797 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8TestTypedefs.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestTypedefs_h
 #define V8TestTypedefs_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp b/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp
index cb95e869..491154f 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8Uint8ClampedArray.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h b/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h
index 32059c5..07301b5a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/V8Uint8ClampedArray.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8Uint8ClampedArray_h
 #define V8Uint8ClampedArray_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.cpp b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.cpp
index 1ec4e50..8af8e07 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "VoidCallbackFunction.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.h b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.h
index f5ed3b8..5a1ad69 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunction.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef VoidCallbackFunction_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.cpp b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.cpp
index bc82e839..31958e2 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "VoidCallbackFunctionInterfaceArg.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.h b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.h
index 9e38c6b..c2e12da 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionInterfaceArg.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef VoidCallbackFunctionInterfaceArg_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.cpp b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.cpp
index 641e3c1..98d56a8 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "VoidCallbackFunctionTypedef.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.h b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.h
index f2ea8ed2..446fd4a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/VoidCallbackFunctionTypedef.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef VoidCallbackFunctionTypedef_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.cpp b/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.cpp
index f6715a41..225fbc57 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_web_module.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/web_module_interface.cpp.tmpl
+
 // clang-format off
 
 #include "WebTestInterface3.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.h b/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.h
index 35de42be..44bf3f17 100644
--- a/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.h
+++ b/third_party/WebKit/Source/bindings/tests/results/core/WebTestInterface3.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_web_module.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/web_module_interface.h.tmpl
+
 // clang-format off
 
 // TODO(dglazkov): Use chromium-style path.
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.cpp
index 44f3a90d..1a838c0 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.cpp.tmpl
+
 // clang-format off
 #include "BooleanOrString.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.h b/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.h
index a97075c..6cfe656 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.h
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/BooleanOrString.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/union_container.h.tmpl
+
 // clang-format off
 #ifndef BooleanOrString_h
 #define BooleanOrString_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
index f8a3cab..151eb54a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/partial_interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterface2Partial.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h
index 5b4d605e..a94d4f8 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface2Partial.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/partial_interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterface2Partial_h
 #define V8TestInterface2Partial_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
index b52d932..93b20c8 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterface5.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h
index 103c6b9f5..092936f7 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterface5_h
 #define V8TestInterface5_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
index 6c2be92c..dc78686 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/partial_interface.cpp.tmpl
+
 // clang-format off
 #include "V8TestInterfacePartial.h"
 
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h
index 3a7fa68..a42c24a 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterfacePartial.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/partial_interface.h.tmpl
+
 // clang-format off
 #ifndef V8TestInterfacePartial_h
 #define V8TestInterfacePartial_h
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.cpp b/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.cpp
index 724d896..892f87c 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.cpp
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.cpp
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.cpp.tmpl
+
 // clang-format off
 
 #include "VoidCallbackFunctionModules.h"
diff --git a/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.h b/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.h
index 199004ee..ff73a01e 100644
--- a/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.h
+++ b/third_party/WebKit/Source/bindings/tests/results/modules/VoidCallbackFunctionModules.h
@@ -5,6 +5,9 @@
 // This file has been auto-generated by code_generator_v8.py.
 // DO NOT MODIFY!
 
+// This file has been generated from the Jinja2 template in
+// third_party/WebKit/Source/bindings/templates/callback_function.h.tmpl
+
 // clang-format off
 
 #ifndef VoidCallbackFunctionModules_h
diff --git a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
index 7f34a978..0c7b7cd 100644
--- a/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
+++ b/third_party/WebKit/Source/core/css/CSSPrimitiveValueMappings.h
@@ -195,31 +195,31 @@
 }
 
 template <>
-inline CSSIdentifierValue::CSSIdentifierValue(PrintColorAdjust value)
+inline CSSIdentifierValue::CSSIdentifierValue(EPrintColorAdjust value)
     : CSSValue(IdentifierClass) {
   switch (value) {
-    case PrintColorAdjust::Exact:
+    case EPrintColorAdjust::Exact:
       m_valueID = CSSValueExact;
       break;
-    case PrintColorAdjust::Economy:
+    case EPrintColorAdjust::Economy:
       m_valueID = CSSValueEconomy;
       break;
   }
 }
 
 template <>
-inline PrintColorAdjust CSSIdentifierValue::convertTo() const {
+inline EPrintColorAdjust CSSIdentifierValue::convertTo() const {
   switch (m_valueID) {
     case CSSValueEconomy:
-      return PrintColorAdjust::Economy;
+      return EPrintColorAdjust::Economy;
     case CSSValueExact:
-      return PrintColorAdjust::Exact;
+      return EPrintColorAdjust::Exact;
     default:
       break;
   }
 
   ASSERT_NOT_REACHED();
-  return PrintColorAdjust::Economy;
+  return EPrintColorAdjust::Economy;
 }
 
 template <>
diff --git a/third_party/WebKit/Source/core/css/CSSProperties.in b/third_party/WebKit/Source/core/css/CSSProperties.in
index 26ed284..195e410d 100644
--- a/third_party/WebKit/Source/core/css/CSSProperties.in
+++ b/third_party/WebKit/Source/core/css/CSSProperties.in
@@ -436,7 +436,7 @@
 -webkit-mask-size interpolable, custom_all
 -webkit-perspective-origin-x interpolable, converter=convertLength
 -webkit-perspective-origin-y interpolable, converter=convertLength
--webkit-print-color-adjust inherited, type_name=PrintColorAdjust
+-webkit-print-color-adjust inherited, keyword_only, keywords=[economy|exact], initial_keyword=economy
 -webkit-rtl-ordering inherited, type_name=EOrder, setter=setRTLOrdering, initial=initialRTLOrdering
 -webkit-ruby-position inherited, type_name=RubyPosition
 -webkit-tap-highlight-color inherited, converter=convertColor
diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
index a3178b6..a6a30d6 100644
--- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
+++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
@@ -2220,7 +2220,7 @@
               ? style.visitedDependentColor(CSSPropertyColor).rgb()
               : style.color().rgb());
     case CSSPropertyWebkitPrintColorAdjust:
-      return CSSIdentifierValue::create(style.getPrintColorAdjust());
+      return CSSIdentifierValue::create(style.printColorAdjust());
     case CSSPropertyColumnCount:
       if (style.hasAutoColumnCount())
         return CSSIdentifierValue::create(CSSValueAuto);
diff --git a/third_party/WebKit/Source/core/fileapi/FileReaderLoader.cpp b/third_party/WebKit/Source/core/fileapi/FileReaderLoader.cpp
index 94b1b41b..d23d273 100644
--- a/third_party/WebKit/Source/core/fileapi/FileReaderLoader.cpp
+++ b/third_party/WebKit/Source/core/fileapi/FileReaderLoader.cpp
@@ -37,7 +37,6 @@
 #include "core/fileapi/FileReaderLoaderClient.h"
 #include "core/html/parser/TextResourceDecoder.h"
 #include "core/loader/ThreadableLoader.h"
-#include "core/streams/Stream.h"
 #include "platform/blob/BlobRegistry.h"
 #include "platform/blob/BlobURL.h"
 #include "platform/network/ResourceError.h"
@@ -58,7 +57,6 @@
                                    FileReaderLoaderClient* client)
     : m_readType(readType),
       m_client(client),
-      m_urlForReadingIsStream(false),
       m_isRawDataConverted(false),
       m_stringResult(""),
       m_finishedLoading(false),
@@ -72,39 +70,28 @@
 FileReaderLoader::~FileReaderLoader() {
   cleanup();
   if (!m_urlForReading.isEmpty()) {
-    if (m_urlForReadingIsStream)
-      BlobRegistry::unregisterStreamURL(m_urlForReading);
-    else
-      BlobRegistry::revokePublicBlobURL(m_urlForReading);
+    BlobRegistry::revokePublicBlobURL(m_urlForReading);
   }
 }
 
-void FileReaderLoader::startInternal(ExecutionContext& executionContext,
-                                     const Stream* stream,
-                                     PassRefPtr<BlobDataHandle> blobData) {
+void FileReaderLoader::start(ExecutionContext* executionContext,
+                             PassRefPtr<BlobDataHandle> blobData) {
+  DCHECK(executionContext);
   // The blob is read by routing through the request handling layer given a
   // temporary public url.
   m_urlForReading =
-      BlobURL::createPublicURL(executionContext.getSecurityOrigin());
+      BlobURL::createPublicURL(executionContext->getSecurityOrigin());
   if (m_urlForReading.isEmpty()) {
     failed(FileError::kSecurityErr);
     return;
   }
 
-  if (blobData) {
-    ASSERT(!stream);
-    BlobRegistry::registerPublicBlobURL(executionContext.getSecurityOrigin(),
-                                        m_urlForReading, std::move(blobData));
-  } else {
-    ASSERT(stream);
-    BlobRegistry::registerStreamURL(executionContext.getSecurityOrigin(),
-                                    m_urlForReading, stream->url());
-  }
-
+  BlobRegistry::registerPublicBlobURL(executionContext->getSecurityOrigin(),
+                                      m_urlForReading, std::move(blobData));
   // Construct and load the request.
   ResourceRequest request(m_urlForReading);
   request.setExternalRequestStateFromRequestorAddressSpace(
-      executionContext.securityContext().addressSpace());
+      executionContext->securityContext().addressSpace());
 
   // FIXME: Should this really be 'internal'? Do we know anything about the
   // actual request that generated this fetch?
@@ -128,36 +115,16 @@
   resourceLoaderOptions.allowCredentials = AllowStoredCredentials;
 
   if (m_client) {
-    m_loader = ThreadableLoader::create(executionContext, this, options,
+    DCHECK(!m_loader);
+    m_loader = ThreadableLoader::create(*executionContext, this, options,
                                         resourceLoaderOptions);
     m_loader->start(request);
   } else {
     ThreadableLoader::loadResourceSynchronously(
-        executionContext, request, *this, options, resourceLoaderOptions);
+        *executionContext, request, *this, options, resourceLoaderOptions);
   }
 }
 
-void FileReaderLoader::start(ExecutionContext* executionContext,
-                             PassRefPtr<BlobDataHandle> blobData) {
-  ASSERT(executionContext);
-  m_urlForReadingIsStream = false;
-  startInternal(*executionContext, 0, std::move(blobData));
-}
-
-void FileReaderLoader::start(ExecutionContext* executionContext,
-                             const Stream& stream,
-                             unsigned readSize) {
-  ASSERT(executionContext);
-  if (readSize > 0) {
-    m_hasRange = true;
-    m_rangeStart = 0;
-    m_rangeEnd = readSize - 1;  // End is inclusive so (0,0) is a 1-byte read.
-  }
-
-  m_urlForReadingIsStream = true;
-  startInternal(*executionContext, &stream, nullptr);
-}
-
 void FileReaderLoader::cancel() {
   m_errorCode = FileError::kAbortErr;
   cleanup();
diff --git a/third_party/WebKit/Source/core/fileapi/FileReaderLoader.h b/third_party/WebKit/Source/core/fileapi/FileReaderLoader.h
index 4736f74..96e6446 100644
--- a/third_party/WebKit/Source/core/fileapi/FileReaderLoader.h
+++ b/third_party/WebKit/Source/core/fileapi/FileReaderLoader.h
@@ -49,7 +49,6 @@
 class DOMArrayBuffer;
 class ExecutionContext;
 class FileReaderLoaderClient;
-class Stream;
 class TextResourceDecoder;
 class ThreadableLoader;
 
@@ -76,7 +75,6 @@
   ~FileReaderLoader() override;
 
   void start(ExecutionContext*, PassRefPtr<BlobDataHandle>);
-  void start(ExecutionContext*, const Stream&, unsigned readSize);
   void cancel();
 
   // ThreadableLoaderClient
@@ -113,9 +111,6 @@
  private:
   FileReaderLoader(ReadType, FileReaderLoaderClient*);
 
-  void startInternal(ExecutionContext&,
-                     const Stream*,
-                     PassRefPtr<BlobDataHandle>);
   void cleanup();
 
   void failed(FileError::ErrorCode);
@@ -130,7 +125,6 @@
   String m_dataType;
 
   KURL m_urlForReading;
-  bool m_urlForReadingIsStream;
   Persistent<ThreadableLoader> m_loader;
 
   std::unique_ptr<ArrayBufferBuilder> m_rawData;
diff --git a/third_party/WebKit/Source/core/frame/FrameOwner.h b/third_party/WebKit/Source/core/frame/FrameOwner.h
index d1d52928..352d8ed4f 100644
--- a/third_party/WebKit/Source/core/frame/FrameOwner.h
+++ b/third_party/WebKit/Source/core/frame/FrameOwner.h
@@ -42,6 +42,7 @@
   virtual int marginWidth() const = 0;
   virtual int marginHeight() const = 0;
   virtual bool allowFullscreen() const = 0;
+  virtual bool allowPaymentRequest() const = 0;
   virtual AtomicString csp() const = 0;
   virtual const WebVector<WebPermissionType>& delegatedPermissions() const = 0;
 };
@@ -67,6 +68,7 @@
   int marginWidth() const override { return -1; }
   int marginHeight() const override { return -1; }
   bool allowFullscreen() const override { return false; }
+  bool allowPaymentRequest() const override { return false; }
   AtomicString csp() const override { return nullAtom; }
   const WebVector<WebPermissionType>& delegatedPermissions() const override {
     DEFINE_STATIC_LOCAL(WebVector<WebPermissionType>, permissions, ());
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
index b16e02c..e1b6250 100644
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
@@ -1618,8 +1618,8 @@
 bool FrameView::shouldSetCursor() const {
   Page* page = frame().page();
   return page && page->visibilityState() != PageVisibilityStateHidden &&
-         page->focusController().isActive() &&
-         page->settings().deviceSupportsMouse();
+         !m_frame->eventHandler().isMousePositionUnknown() &&
+         page->focusController().isActive();
 }
 
 void FrameView::scrollContentsIfNeededRecursive() {
@@ -3580,7 +3580,7 @@
 
 void FrameView::setCursor(const Cursor& cursor) {
   Page* page = frame().page();
-  if (!page || !page->settings().deviceSupportsMouse())
+  if (!page || m_frame->eventHandler().isMousePositionUnknown())
     return;
   page->chromeClient().setCursor(cursor, m_frame);
 }
diff --git a/third_party/WebKit/Source/core/frame/Settings.in b/third_party/WebKit/Source/core/frame/Settings.in
index 312470f..b35509b 100644
--- a/third_party/WebKit/Source/core/frame/Settings.in
+++ b/third_party/WebKit/Source/core/frame/Settings.in
@@ -120,7 +120,6 @@
 # or uses it (i.e. Chromebook Pixel users generally don't want to give up
 # screen real estate just because they happen to have a touchscreen).
 deviceSupportsTouch initial=false
-deviceSupportsMouse initial=true
 
 # This value indicates the number of simultaneous multi-touch points supported
 # by the currently connected screen/digitizer that supports the most points.
diff --git a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
index 996939a7..b091ad6 100644
--- a/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLFrameOwnerElement.h
@@ -86,6 +86,7 @@
   int marginWidth() const override { return -1; }
   int marginHeight() const override { return -1; }
   bool allowFullscreen() const override { return false; }
+  bool allowPaymentRequest() const override { return false; }
   AtomicString csp() const override { return nullAtom; }
   const WebVector<WebPermissionType>& delegatedPermissions() const override;
 
diff --git a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp b/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
index 8639371..150abce0 100644
--- a/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLIFrameElement.cpp
@@ -120,6 +120,11 @@
     m_allowFullscreen = !value.isNull();
     if (m_allowFullscreen != oldAllowFullscreen)
       frameOwnerPropertiesChanged();
+  } else if (name == allowpaymentrequestAttr) {
+    bool oldAllowPaymentRequest = m_allowPaymentRequest;
+    m_allowPaymentRequest = !value.isNull();
+    if (m_allowPaymentRequest != oldAllowPaymentRequest)
+      frameOwnerPropertiesChanged();
   } else if (name == permissionsAttr) {
     if (initializePermissionsAttribute())
       m_permissions->setValue(value);
diff --git a/third_party/WebKit/Source/core/html/HTMLIFrameElement.h b/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
index 8346a914..8608f967 100644
--- a/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLIFrameElement.h
@@ -76,6 +76,7 @@
   ReferrerPolicy referrerPolicyAttribute() override;
 
   bool allowFullscreen() const override { return m_allowFullscreen; }
+  bool allowPaymentRequest() const override { return m_allowPaymentRequest; }
 
   AtomicString csp() const override { return m_csp; }
 
@@ -89,6 +90,7 @@
   AtomicString m_csp;
   bool m_didLoadNonEmptyDocument;
   bool m_allowFullscreen;
+  bool m_allowPaymentRequest;
   Member<HTMLIFrameElementSandbox> m_sandbox;
   Member<HTMLIFrameElementPermissions> m_permissions;
 
diff --git a/third_party/WebKit/Source/core/input/EventHandler.cpp b/third_party/WebKit/Source/core/input/EventHandler.cpp
index 4f3ef35..eae4d8c8 100644
--- a/third_party/WebKit/Source/core/input/EventHandler.cpp
+++ b/third_party/WebKit/Source/core/input/EventHandler.cpp
@@ -361,9 +361,6 @@
   // cursor update could be occluded by a different frame.
   ASSERT(m_frame == m_frame->localFrameRoot());
 
-  if (m_mouseEventManager->isMousePositionUnknown())
-    return;
-
   FrameView* view = m_frame->view();
   if (!view || !view->shouldSetCursor())
     return;
@@ -1903,7 +1900,8 @@
 
 void EventHandler::scheduleHoverStateUpdate() {
   // TODO(https://crbug.com/668758): Use a normal BeginFrame update for this.
-  if (!m_hoverTimer.isActive())
+  if (!m_hoverTimer.isActive() &&
+      !m_mouseEventManager->isMousePositionUnknown())
     m_hoverTimer.startOneShot(0, BLINK_FROM_HERE);
 }
 
diff --git a/third_party/WebKit/Source/core/input/EventHandler.h b/third_party/WebKit/Source/core/input/EventHandler.h
index c2ee3de..6de6953 100644
--- a/third_party/WebKit/Source/core/input/EventHandler.h
+++ b/third_party/WebKit/Source/core/input/EventHandler.h
@@ -107,7 +107,10 @@
       const LayoutSize& padding = LayoutSize());
 
   bool mousePressed() const { return m_mouseEventManager->mousePressed(); }
-
+  bool isMousePositionUnknown() const {
+    return m_mouseEventManager->isMousePositionUnknown();
+  }
+  void clearMouseEventManager() const { m_mouseEventManager->clear(); }
   void setCapturingMouseEventsNode(
       Node*);  // A caller is responsible for resetting capturing node to 0.
 
diff --git a/third_party/WebKit/Source/core/input/MouseEventManager.cpp b/third_party/WebKit/Source/core/input/MouseEventManager.cpp
index 1a99cf8..48126add 100644
--- a/third_party/WebKit/Source/core/input/MouseEventManager.cpp
+++ b/third_party/WebKit/Source/core/input/MouseEventManager.cpp
@@ -283,8 +283,7 @@
   DCHECK(timer == &m_fakeMouseMoveEventTimer);
   DCHECK(!m_mousePressed);
 
-  Settings* settings = m_frame->settings();
-  if (settings && !settings->deviceSupportsMouse())
+  if (m_isMousePositionUnknown)
     return;
 
   FrameView* view = m_frame->view();
@@ -530,10 +529,6 @@
   if (m_isMousePositionUnknown)
     return;
 
-  Settings* settings = m_frame->settings();
-  if (settings && !settings->deviceSupportsMouse())
-    return;
-
   // Reschedule the timer, to prevent dispatching mouse move events
   // during a scroll. This avoids a potential source of scroll jank.
   m_fakeMouseMoveEventTimer.startOneShot(kFakeMouseMoveInterval,
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
index 17369a27..3271981 100644
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
@@ -298,6 +298,20 @@
     }
   }
 
+  if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) {
+    // hasLayer status will affect whether to create localBorderBoxProperties.
+    if (hadLayer != hasLayer()) {
+      setNeedsPaintPropertyUpdate();
+    } else if (oldStyle && oldStyle->position() != styleRef().position() &&
+               (oldStyle->position() == FixedPosition ||
+                styleRef().position() == FixedPosition)) {
+      // Fixed-position status affects whether to create paintOffsetTranslation.
+      // TODO(chrishtr): Update the condition here when changing the condition
+      // in PaintPropertyTreeBuilder::updatePaintOffsetTranslation().
+      setNeedsPaintPropertyUpdate();
+    }
+  }
+
   if (layer()) {
     layer()->styleDidChange(diff, oldStyle);
     if (hadLayer && layer()->isSelfPaintingLayer() != layerWasSelfPainting)
diff --git a/third_party/WebKit/Source/core/page/Page.cpp b/third_party/WebKit/Source/core/page/Page.cpp
index c16fb04..3deb735 100644
--- a/third_party/WebKit/Source/core/page/Page.cpp
+++ b/third_party/WebKit/Source/core/page/Page.cpp
@@ -335,7 +335,7 @@
 }
 
 bool Page::isCursorVisible() const {
-  return m_isCursorVisible && settings().deviceSupportsMouse();
+  return m_isCursorVisible;
 }
 
 void Page::settingsChanged(SettingsDelegate::ChangeType changeType) {
diff --git a/third_party/WebKit/Source/core/paint/BoxPainter.cpp b/third_party/WebKit/Source/core/paint/BoxPainter.cpp
index e819921..2051310 100644
--- a/third_party/WebKit/Source/core/paint/BoxPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/BoxPainter.cpp
@@ -1084,7 +1084,7 @@
     const ComputedStyle& style,
     const Document& document) {
   return document.printing() &&
-         style.getPrintColorAdjust() == PrintColorAdjust::Economy &&
+         style.printColorAdjust() == EPrintColorAdjust::Economy &&
          (!document.settings() ||
           !document.settings()->shouldPrintBackgrounds());
 }
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
index e388aaff..c60fd266 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
@@ -218,8 +218,12 @@
   } else if (object.isBoxModelObject() &&
              context.current.paintOffset != LayoutPoint()) {
     // TODO(trchen): Eliminate PaintLayer dependency.
+    // TODO(chrishtr): When changing the condition here, make sure to update
+    // the condition in LayoutBoxModelObject::styleDidChange() above
+    // setNeedsPaintPropertyUpdate().
     PaintLayer* layer = toLayoutBoxModelObject(object).layer();
-    if (layer && layer->paintsWithTransform(GlobalPaintNormalPhase))
+    if (layer &&
+        layer->paintsWithTransform(GlobalPaintFlattenCompositingLayers))
       usesPaintOffsetTranslation = true;
   }
 
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
index d822d5bc..1cd6e80 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
@@ -946,8 +946,7 @@
 bool ComputedStyle::diffNeedsPaintInvalidationObject(
     const ComputedStyle& other) const {
   if (visibility() != other.visibility() ||
-      m_inheritedData.m_printColorAdjust !=
-          other.m_inheritedData.m_printColorAdjust ||
+      printColorAdjust() != other.printColorAdjust() ||
       m_inheritedData.m_insideLink != other.m_inheritedData.m_insideLink ||
       !m_surround->border.visuallyEqual(other.m_surround->border) ||
       *m_background != *other.m_background)
diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.h b/third_party/WebKit/Source/core/style/ComputedStyle.h
index 85a68d0..bd00996a 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyle.h
+++ b/third_party/WebKit/Source/core/style/ComputedStyle.h
@@ -204,7 +204,6 @@
              (m_cursorStyle == other.m_cursorStyle) &&
              (m_direction == other.m_direction) &&
              (m_rtlOrdering == other.m_rtlOrdering) &&
-             (m_printColorAdjust == other.m_printColorAdjust) &&
              (m_insideLink == other.m_insideLink) &&
              (m_writingMode == other.m_writingMode);
     }
@@ -223,7 +222,6 @@
 
     // non CSS2 inherited
     unsigned m_rtlOrdering : 1;       // EOrder
-    unsigned m_printColorAdjust : 1;  // PrintColorAdjust
     unsigned m_insideLink : 2;     // EInsideLink
 
     // CSS Text Layout Module Level 3: Vertical writing support
@@ -324,8 +322,6 @@
     m_inheritedData.m_cursorStyle = static_cast<unsigned>(initialCursor());
     m_inheritedData.m_direction = initialDirection();
     m_inheritedData.m_rtlOrdering = static_cast<unsigned>(initialRTLOrdering());
-    m_inheritedData.m_printColorAdjust =
-        static_cast<unsigned>(initialPrintColorAdjust());
     m_inheritedData.m_insideLink = NotInsideLink;
     m_inheritedData.m_writingMode = initialWritingMode();
 
@@ -2299,17 +2295,6 @@
     SET_VAR(m_rareNonInheritedData, lineClamp, c);
   }
 
-  // -webkit-print-color-adjust
-  static PrintColorAdjust initialPrintColorAdjust() {
-    return PrintColorAdjust::Economy;
-  }
-  PrintColorAdjust getPrintColorAdjust() const {
-    return static_cast<PrintColorAdjust>(m_inheritedData.m_printColorAdjust);
-  }
-  void setPrintColorAdjust(PrintColorAdjust value) {
-    m_inheritedData.m_printColorAdjust = static_cast<unsigned>(value);
-  }
-
   // -webkit-rtl-ordering
   static EOrder initialRTLOrdering() { return EOrder::Logical; }
   EOrder rtlOrdering() const {
diff --git a/third_party/WebKit/Source/core/style/ComputedStyleConstants.h b/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
index 913e83f..cf9524e 100644
--- a/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
+++ b/third_party/WebKit/Source/core/style/ComputedStyleConstants.h
@@ -54,8 +54,6 @@
   ReattachNoLayoutObject
 };
 
-enum class PrintColorAdjust : unsigned { Economy, Exact };
-
 // Static pseudo styles. Dynamic ones are produced on the fly.
 enum PseudoId {
   // The order must be NOP ID, public IDs, and then internal IDs.
diff --git a/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js b/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
index c5376ff0..8aec3f3 100644
--- a/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
+++ b/third_party/WebKit/Source/devtools/front_end/audits/AuditRules.js
@@ -489,7 +489,7 @@
 };
 
 /**
- * @typedef {!{sourceURL: string, rules: !Array.<!SDK.CSSParser.StyleRule>}}
+ * @typedef {!{sourceURL: string, rules: !Array.<!Common.FormatterWorkerPool.CSSStyleRule>}}
  */
 Audits.AuditRules.ParsedStyleSheet;
 
@@ -536,7 +536,7 @@
   }
 
   /**
-   * @param {!Array.<!SDK.CSSParser.Rule>} rules
+   * @param {!Array.<!Common.FormatterWorkerPool.CSSRule>} rules
    */
   _onStyleSheetParsed(rules) {
     if (this._progress.isCanceled()) {
@@ -1232,7 +1232,7 @@
 
   /**
    * @param {!Audits.AuditRules.ParsedStyleSheet} styleSheet
-   * @param {!SDK.CSSParser.StyleRule} rule
+   * @param {!Common.FormatterWorkerPool.CSSStyleRule} rule
    * @param {!Audits.AuditRuleResult} result
    */
   _visitRule(styleSheet, rule, result) {
@@ -1261,7 +1261,7 @@
 
   /**
    * @param {!Audits.AuditRules.ParsedStyleSheet} styleSheet
-   * @param {!SDK.CSSParser.StyleRule} rule
+   * @param {!Common.FormatterWorkerPool.CSSStyleRule} rule
    * @param {!Audits.AuditRuleResult} result
    */
   visitRule(styleSheet, rule, result) {
@@ -1270,7 +1270,7 @@
 
   /**
    * @param {!Audits.AuditRules.ParsedStyleSheet} styleSheet
-   * @param {!SDK.CSSParser.StyleRule} rule
+   * @param {!Common.FormatterWorkerPool.CSSStyleRule} rule
    * @param {!Audits.AuditRuleResult} result
    */
   didVisitRule(styleSheet, rule, result) {
@@ -1279,8 +1279,8 @@
 
   /**
    * @param {!Audits.AuditRules.ParsedStyleSheet} styleSheet
-   * @param {!SDK.CSSParser.StyleRule} rule
-   * @param {!SDK.CSSParser.Property} property
+   * @param {!Common.FormatterWorkerPool.CSSStyleRule} rule
+   * @param {!Common.FormatterWorkerPool.CSSProperty} property
    * @param {!Audits.AuditRuleResult} result
    */
   visitProperty(styleSheet, rule, property, result) {
diff --git a/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js b/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js
index 3e3ed68..da21e10 100644
--- a/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js
+++ b/third_party/WebKit/Source/devtools/front_end/common/FormatterWorkerPool.js
@@ -43,13 +43,13 @@
   _onWorkerMessage(worker, event) {
     var task = this._workerTasks.get(worker);
     if (task.isChunked && event.data && !event.data['isLastChunk']) {
-      task.callback(event);
+      task.callback(event.data);
       return;
     }
 
     this._workerTasks.set(worker, null);
     this._processNextTask();
-    task.callback(event.data ? event : null);
+    task.callback(event.data ? event.data : null);
   }
 
   /**
@@ -71,20 +71,33 @@
   /**
    * @param {string} methodName
    * @param {!Object<string, string>} params
-   * @param {function(?MessageEvent)} callback
+   * @param {function(boolean, *)} callback
    */
-  runChunkedTask(methodName, params, callback) {
-    var task = new Common.FormatterWorkerPool.Task(methodName, params, callback, true);
+  _runChunkedTask(methodName, params, callback) {
+    var task = new Common.FormatterWorkerPool.Task(methodName, params, onData, true);
     this._taskQueue.push(task);
     this._processNextTask();
+
+    /**
+     * @param {?Object} data
+     */
+    function onData(data) {
+      if (!data) {
+        callback(true, null);
+        return;
+      }
+      var isLastChunk = !!data['isLastChunk'];
+      var chunk = data['chunk'];
+      callback(isLastChunk, chunk);
+    }
   }
 
   /**
    * @param {string} methodName
    * @param {!Object<string, string>} params
-   * @return {!Promise<?MessageEvent>}
+   * @return {!Promise<*>}
    */
-  runTask(methodName, params) {
+  _runTask(methodName, params) {
     var callback;
     var promise = new Promise(fulfill => callback = fulfill);
     var task = new Common.FormatterWorkerPool.Task(methodName, params, callback, false);
@@ -92,6 +105,83 @@
     this._processNextTask();
     return promise;
   }
+
+  /**
+   * @param {string} content
+   * @return {!Promise<*>}
+   */
+  parseJSONRelaxed(content) {
+    return this._runTask('parseJSONRelaxed', {content: content});
+  }
+
+  /**
+   * @param {string} content
+   * @return {!Promise<!Array<!Common.FormatterWorkerPool.SCSSRule>>}
+   */
+  parseSCSS(content) {
+    return this._runTask('parseSCSS', {content: content}).then(rules => rules || []);
+  }
+
+  /**
+   * @param {string} mimeType
+   * @param {string} content
+   * @param {string} indentString
+   * @return {!Promise<!Common.FormatterWorkerPool.FormatResult>}
+   */
+  format(mimeType, content, indentString) {
+    var parameters = {mimeType: mimeType, content: content, indentString: indentString};
+    return /** @type {!Promise<!Common.FormatterWorkerPool.FormatResult>} */ (this._runTask('format', parameters));
+  }
+
+  /**
+   * @param {string} content
+   * @return {!Promise<!Array<!{name: string, offset: number}>>}
+   */
+  javaScriptIdentifiers(content) {
+    return this._runTask('javaScriptIdentifiers', {content: content}).then(ids => ids || []);
+  }
+
+  /**
+   * @param {string} content
+   * @return {!Promise<string>}
+   */
+  evaluatableJavaScriptSubstring(content) {
+    return this._runTask('evaluatableJavaScriptSubstring', {content: content}).then(text => text || '');
+  }
+
+  /**
+   * @param {string} content
+   * @param {function(boolean, !Array<!Common.FormatterWorkerPool.CSSRule>)} callback
+   */
+  parseCSS(content, callback) {
+    this._runChunkedTask('parseCSS', {content: content}, onDataChunk);
+
+    /**
+     * @param {boolean} isLastChunk
+     * @param {*} data
+     */
+    function onDataChunk(isLastChunk, data) {
+      var rules = /** @type {!Array<!Common.FormatterWorkerPool.CSSRule>} */ (data || []);
+      callback(isLastChunk, rules);
+    }
+  }
+
+  /**
+   * @param {string} content
+   * @param {function(boolean, !Array<!Common.FormatterWorkerPool.JSOutlineItem>)} callback
+   */
+  javaScriptOutline(content, callback) {
+    this._runChunkedTask('javaScriptOutline', {content: content}, onDataChunk);
+
+    /**
+     * @param {boolean} isLastChunk
+     * @param {*} data
+     */
+    function onDataChunk(isLastChunk, data) {
+      var items = /** @type {!Array.<!Common.FormatterWorkerPool.JSOutlineItem>} */ (data || []);
+      callback(isLastChunk, items);
+    }
+  }
 };
 
 Common.FormatterWorkerPool.MaxWorkers = 2;
@@ -114,5 +204,101 @@
   }
 };
 
+Common.FormatterWorkerPool.FormatResult = class {
+  constructor() {
+    /** @type {string} */
+    this.content;
+    /** @type {!Common.FormatterWorkerPool.FormatMapping} */
+    this.mapping;
+  }
+};
+
+/** @typedef {{original: !Array<number>, formatted: !Array<number>}} */
+Common.FormatterWorkerPool.FormatMapping;
+
+Common.FormatterWorkerPool.JSOutlineItem = class {
+  constructor() {
+    /** @type {string} */
+    this.name;
+    /** @type {(string|undefined)} */
+    this.arguments;
+    /** @type {number} */
+    this.line;
+    /** @type {number} */
+    this.column;
+  }
+};
+
+/**
+ * @typedef {{startLine: number, startColumn: number, endLine: number, endColumn: number}}
+ */
+Common.FormatterWorkerPool.TextRange;
+
+Common.FormatterWorkerPool.CSSProperty = class {
+  constructor() {
+    /** @type {string} */
+    this.name;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.nameRange;
+    /** @type {string} */
+    this.value;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.valueRange;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.range;
+    /** @type {(boolean|undefined)} */
+    this.disabled;
+  }
+};
+
+Common.FormatterWorkerPool.CSSStyleRule = class {
+  constructor() {
+    /** @type {string} */
+    this.selectorText;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.styleRange;
+    /** @type {number} */
+    this.lineNumber;
+    /** @type {number} */
+    this.columnNumber;
+    /** @type {!Array.<!Common.FormatterWorkerPool.CSSProperty>} */
+    this.properties;
+  }
+};
+
+/**
+ * @typedef {{atRule: string, lineNumber: number, columnNumber: number}}
+ */
+Common.FormatterWorkerPool.CSSAtRule;
+
+/**
+ * @typedef {(Common.FormatterWorkerPool.CSSStyleRule|Common.FormatterWorkerPool.CSSAtRule)}
+ */
+Common.FormatterWorkerPool.CSSRule;
+
+Common.FormatterWorkerPool.SCSSProperty = class {
+  constructor() {
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.range;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.name;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.value;
+    /** @type {boolean} */
+    this.disabled;
+  }
+};
+
+Common.FormatterWorkerPool.SCSSRule = class {
+  constructor() {
+    /** @type {!Array<!Common.FormatterWorkerPool.TextRange>} */
+    this.selectors;
+    /** @type {!Array<!Common.FormatterWorkerPool.SCSSProperty>} */
+    this.properties;
+    /** @type {!Common.FormatterWorkerPool.TextRange} */
+    this.styleRange;
+  }
+};
+
 /** @type {!Common.FormatterWorkerPool} */
 Common.formatterWorkerPool;
diff --git a/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js b/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
index 45ced4b34..bfc5fe5 100644
--- a/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
+++ b/third_party/WebKit/Source/devtools/front_end/formatter_worker/FormatterWorker.js
@@ -78,8 +78,8 @@
     case 'evaluatableJavaScriptSubstring':
       FormatterWorker.evaluatableJavaScriptSubstring(params.content);
       break;
-    case 'relaxedJSONParser':
-      FormatterWorker.relaxedJSONParser(params.content);
+    case 'parseJSONRelaxed':
+      FormatterWorker.parseJSONRelaxed(params.content);
       break;
     default:
       console.error('Unsupport method name: ' + method);
@@ -89,7 +89,7 @@
 /**
  * @param {string} content
  */
-FormatterWorker.relaxedJSONParser = function(content) {
+FormatterWorker.parseJSONRelaxed = function(content) {
   postMessage(FormatterWorker.RelaxedJSONParser.parse(content));
 };
 
diff --git a/third_party/WebKit/Source/devtools/front_end/network/JSONView.js b/third_party/WebKit/Source/devtools/front_end/network/JSONView.js
index 72cabe1b..2b77d45 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/JSONView.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/JSONView.js
@@ -76,16 +76,16 @@
       returnObj = Network.JSONView._extractJSON(/** @type {string} */ (text));
     if (!returnObj)
       return Promise.resolve(/** @type {?Network.ParsedJSON} */ (null));
-    return Common.formatterWorkerPool.runTask('relaxedJSONParser', {content: returnObj.data}).then(handleReturnedJSON);
+    return Common.formatterWorkerPool.parseJSONRelaxed(returnObj.data).then(handleReturnedJSON);
 
     /**
-     * @param {?MessageEvent} event
+     * @param {*} data
      * @return {?Network.ParsedJSON}
      */
-    function handleReturnedJSON(event) {
-      if (!event || !event.data)
+    function handleReturnedJSON(data) {
+      if (!data)
         return null;
-      returnObj.data = event.data;
+      returnObj.data = data;
       return returnObj;
     }
   }
diff --git a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
index 5d428ae..8ccc296 100644
--- a/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
+++ b/third_party/WebKit/Source/devtools/front_end/network/NetworkLogView.js
@@ -45,8 +45,6 @@
 
     this._networkHideDataURLSetting = Common.settings.createSetting('networkHideDataURL', false);
     this._networkResourceTypeFiltersSetting = Common.settings.createSetting('networkResourceTypeFilters', {});
-    this._networkShowPrimaryLoadWaterfallSetting =
-        Common.settings.createSetting('networkShowPrimaryLoadWaterfall', false);
 
     this._filterBar = filterBar;
     this._progressBarContainer = progressBarContainer;
@@ -1675,9 +1673,6 @@
   'wss': true
 };
 
-Network.NetworkLogView._waterfallMinOvertime = 1;
-Network.NetworkLogView._waterfallMaxOvertime = 3;
-
 /** @enum {symbol} */
 Network.NetworkLogView.Events = {
   RequestSelected: Symbol('RequestSelected'),
diff --git a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js
index a1cefb2..b7071863 100644
--- a/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js
+++ b/third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js
@@ -41,6 +41,7 @@
     super(Common.UIString('Heap Snapshot'));
 
     this.element.classList.add('heap-snapshot-view');
+    this._profile = profile;
 
     profile.profileType().addEventListener(
         Profiler.HeapSnapshotProfileType.SnapshotReceived, this._onReceiveSnapshot, this);
@@ -123,19 +124,17 @@
     this._retainmentDataGrid.reset();
 
     this._perspectives = [];
+    this._comparisonPerspective = new Profiler.HeapSnapshotView.ComparisonPerspective();
     this._perspectives.push(new Profiler.HeapSnapshotView.SummaryPerspective());
     if (profile.profileType() !== Profiler.ProfileTypeRegistry.instance.trackingHeapSnapshotProfileType)
-      this._perspectives.push(new Profiler.HeapSnapshotView.ComparisonPerspective());
+      this._perspectives.push(this._comparisonPerspective);
     this._perspectives.push(new Profiler.HeapSnapshotView.ContainmentPerspective());
     if (this._allocationWidget)
       this._perspectives.push(new Profiler.HeapSnapshotView.AllocationPerspective());
     this._perspectives.push(new Profiler.HeapSnapshotView.StatisticsPerspective());
 
     this._perspectiveSelect = new UI.ToolbarComboBox(this._onSelectedPerspectiveChanged.bind(this));
-    for (var i = 0; i < this._perspectives.length; ++i)
-      this._perspectiveSelect.createOption(this._perspectives[i].title());
-
-    this._profile = profile;
+    this._updatePerspectiveOptions();
 
     this._baseSelect = new UI.ToolbarComboBox(this._changeBase.bind(this));
     this._baseSelect.setVisible(false);
@@ -489,19 +488,14 @@
    * @param {function()} callback
    */
   _changePerspectiveAndWait(perspectiveTitle, callback) {
-    var perspectiveIndex = null;
-    for (var i = 0; i < this._perspectives.length; ++i) {
-      if (this._perspectives[i].title() === perspectiveTitle) {
-        perspectiveIndex = i;
-        break;
-      }
-    }
-    if (this._currentPerspectiveIndex === perspectiveIndex || perspectiveIndex === null) {
+    const perspectiveIndex = this._perspectives.findIndex(perspective => perspective.title() === perspectiveTitle);
+    if (perspectiveIndex === -1 || this._currentPerspectiveIndex === perspectiveIndex) {
       setTimeout(callback, 0);
       return;
     }
 
     /**
+     * @param {!Common.Event} event
      * @this {Profiler.HeapSnapshotView}
      */
     function dataGridContentShown(event) {
@@ -514,7 +508,8 @@
     this._perspectives[perspectiveIndex].masterGrid(this).addEventListener(
         Profiler.HeapSnapshotSortableDataGrid.Events.ContentShown, dataGridContentShown, this);
 
-    this._perspectiveSelect.setSelectedIndex(perspectiveIndex);
+    const option = this._perspectiveSelect.options().find(option => option.value === perspectiveIndex);
+    this._perspectiveSelect.select(/** @type {!Element} */ (option));
     this._changePerspective(perspectiveIndex);
   }
 
@@ -550,7 +545,7 @@
   }
 
   _onSelectedPerspectiveChanged(event) {
-    this._changePerspective(event.target.selectedIndex);
+    this._changePerspective(event.target.selectedOptions[0].value);
   }
 
   /**
@@ -627,6 +622,15 @@
     element.node.queryObjectContent(this._profile.target(), showCallback, objectGroupName);
   }
 
+  _updatePerspectiveOptions() {
+    const multipleSnapshots = this._profiles().length > 1;
+    this._perspectiveSelect.removeOptions();
+    this._perspectives.forEach((perspective, index) => {
+      if (multipleSnapshots || perspective !== this._comparisonPerspective)
+        this._perspectiveSelect.createOption(perspective.title(), '', String(index));
+    });
+  }
+
   _updateBaseOptions() {
     var list = this._profiles();
     // We're assuming that snapshots can only be added.
@@ -659,6 +663,7 @@
   }
 
   _updateControls() {
+    this._updatePerspectiveOptions();
     this._updateBaseOptions();
     this._updateFilterOptions();
   }
@@ -773,12 +778,12 @@
     heapSnapshotView._splitWidget.show(heapSnapshotView._searchableView.element);
     heapSnapshotView._filterSelect.setVisible(true);
     heapSnapshotView._classNameFilter.setVisible(true);
-    if (heapSnapshotView._trackingOverviewGrid) {
-      heapSnapshotView._trackingOverviewGrid.show(
-          heapSnapshotView._searchableView.element, heapSnapshotView._splitWidget.element);
-      heapSnapshotView._trackingOverviewGrid.update();
-      heapSnapshotView._trackingOverviewGrid._updateGrid();
-    }
+    if (!heapSnapshotView._trackingOverviewGrid)
+      return;
+    heapSnapshotView._trackingOverviewGrid.show(
+        heapSnapshotView._searchableView.element, heapSnapshotView._splitWidget.element);
+    heapSnapshotView._trackingOverviewGrid.update();
+    heapSnapshotView._trackingOverviewGrid._updateGrid();
   }
 
   /**
diff --git a/third_party/WebKit/Source/devtools/front_end/sass/SASSSupport.js b/third_party/WebKit/Source/devtools/front_end/sass/SASSSupport.js
index 7a1cbb5..34f8807 100644
--- a/third_party/WebKit/Source/devtools/front_end/sass/SASSSupport.js
+++ b/third_party/WebKit/Source/devtools/front_end/sass/SASSSupport.js
@@ -12,19 +12,16 @@
   var text = new Common.Text(content);
   var document = new Sass.SASSSupport.ASTDocument(url, text);
 
-  return Common.formatterWorkerPool.runTask('parseSCSS', {content: content}).then(onParsed);
+  return Common.formatterWorkerPool.parseSCSS(content).then(onParsed);
 
   /**
-   * @param {?MessageEvent} event
+   * @param {!Array<!Common.FormatterWorkerPool.SCSSRule>} rulePayloads
    * @return {!Sass.SASSSupport.AST}
    */
-  function onParsed(event) {
-    if (!event)
-      return new Sass.SASSSupport.AST(document, []);
-    var data = /** @type {!Array<!Object>} */ (event.data);
+  function onParsed(rulePayloads) {
     var rules = [];
-    for (var i = 0; i < data.length; ++i) {
-      var rulePayload = data[i];
+    for (var i = 0; i < rulePayloads.length; ++i) {
+      var rulePayload = rulePayloads[i];
       var selectors = rulePayload.selectors.map(createTextNode);
       var properties = rulePayload.properties.map(createProperty);
       var range = Common.TextRange.fromObject(rulePayload.styleRange);
diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/CSSParser.js b/third_party/WebKit/Source/devtools/front_end/sdk/CSSParser.js
index 755be91..b003f82 100644
--- a/third_party/WebKit/Source/devtools/front_end/sdk/CSSParser.js
+++ b/third_party/WebKit/Source/devtools/front_end/sdk/CSSParser.js
@@ -16,7 +16,7 @@
 
   /**
    * @param {!SDK.CSSStyleSheetHeader} styleSheetHeader
-   * @param {function(!Array.<!SDK.CSSParser.Rule>)=} callback
+   * @param {function(!Array.<!Common.FormatterWorkerPool.CSSRule>)=} callback
    */
   fetchAndParse(styleSheetHeader, callback) {
     this._lock();
@@ -26,7 +26,7 @@
 
   /**
    * @param {string} text
-   * @param {function(!Array.<!SDK.CSSParser.Rule>)=} callback
+   * @param {function(!Array.<!Common.FormatterWorkerPool.CSSRule>)=} callback
    */
   parse(text, callback) {
     this._lock();
@@ -36,7 +36,7 @@
 
   /**
    * @param {string} text
-   * @return {!Promise<!Array.<!SDK.CSSParser.Rule>>}
+   * @return {!Promise<!Array.<!Common.FormatterWorkerPool.CSSRule>>}
    */
   parsePromise(text) {
     return new Promise(promiseConstructor.bind(this));
@@ -59,7 +59,7 @@
   }
 
   /**
-   * @return {!Array.<!SDK.CSSParser.Rule>}
+   * @return {!Array.<!Common.FormatterWorkerPool.CSSRule>}
    */
   rules() {
     return this._rules;
@@ -79,27 +79,18 @@
    */
   _innerParse(text) {
     this._rules = [];
-    var params = {content: text};
-    Common.formatterWorkerPool.runChunkedTask('parseCSS', params, this._onRuleChunk.bind(this));
+    Common.formatterWorkerPool.parseCSS(text || '', this._onRuleChunk.bind(this));
   }
 
   /**
-   * @param {?MessageEvent} event
+   * @param {boolean} isLastChunk
+   * @param {!Array.<!Common.FormatterWorkerPool.CSSRule>} rules
    */
-  _onRuleChunk(event) {
+  _onRuleChunk(isLastChunk, rules) {
     if (this._terminated)
       return;
-    if (!event) {
-      this._onFinishedParsing();
-      this.dispatchEventToListeners(SDK.CSSParser.Events.RulesParsed);
-      return;
-    }
-    var data = /** @type {!SDK.CSSParser.DataChunk} */ (event.data);
-    var chunk = data.chunk;
-    for (var i = 0; i < chunk.length; ++i)
-      this._rules.push(chunk[i]);
-
-    if (data.isLastChunk)
+    this._rules = this._rules.concat(rules);
+    if (isLastChunk)
       this._onFinishedParsing();
     this.dispatchEventToListeners(SDK.CSSParser.Events.RulesParsed);
   }
@@ -124,61 +115,3 @@
 SDK.CSSParser.Events = {
   RulesParsed: Symbol('RulesParsed')
 };
-
-/**
- * @typedef {{isLastChunk: boolean, chunk: !Array.<!SDK.CSSParser.Rule>}}
- */
-SDK.CSSParser.DataChunk;
-
-/**
- * @unrestricted
- */
-SDK.CSSParser.StyleRule = class {
-  constructor() {
-    /** @type {string} */
-    this.selectorText;
-    /** @type {!SDK.CSSParser.Range} */
-    this.styleRange;
-    /** @type {number} */
-    this.lineNumber;
-    /** @type {number} */
-    this.columnNumber;
-    /** @type {!Array.<!SDK.CSSParser.Property>} */
-    this.properties;
-  }
-};
-
-/**
- * @typedef {{atRule: string, lineNumber: number, columnNumber: number}}
- */
-SDK.CSSParser.AtRule;
-
-/**
- * @typedef {(SDK.CSSParser.StyleRule|SDK.CSSParser.AtRule)}
- */
-SDK.CSSParser.Rule;
-
-/**
- * @typedef {{startLine: number, startColumn: number, endLine: number, endColumn: number}}
- */
-SDK.CSSParser.Range;
-
-/**
- * @unrestricted
- */
-SDK.CSSParser.Property = class {
-  constructor() {
-    /** @type {string} */
-    this.name;
-    /** @type {!SDK.CSSParser.Range} */
-    this.nameRange;
-    /** @type {string} */
-    this.value;
-    /** @type {!SDK.CSSParser.Range} */
-    this.valueRange;
-    /** @type {!SDK.CSSParser.Range} */
-    this.range;
-    /** @type {(boolean|undefined)} */
-    this.disabled;
-  }
-};
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptOutlineDialog.js b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptOutlineDialog.js
index 7f6eb8b..2c49751 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptOutlineDialog.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/JavaScriptOutlineDialog.js
@@ -17,8 +17,7 @@
 
     this._functionItems = [];
     this._selectItemCallback = selectItemCallback;
-    Common.formatterWorkerPool.runChunkedTask(
-        'javaScriptOutline', {content: uiSourceCode.workingCopy()}, this._didBuildOutlineChunk.bind(this));
+    Common.formatterWorkerPool.javaScriptOutline(uiSourceCode.workingCopy(), this._didBuildOutlineChunk.bind(this));
   }
 
   /**
@@ -32,22 +31,11 @@
   }
 
   /**
-   * @param {?MessageEvent} event
+   * @param {boolean} isLastChunk
+   * @param {!Array<!Common.FormatterWorkerPool.JSOutlineItem>} items
    */
-  _didBuildOutlineChunk(event) {
-    if (!event) {
-      this.dispose();
-      this.refresh();
-      return;
-    }
-    var data = /** @type {!Sources.JavaScriptOutlineDialog.MessageEventData} */ (event.data);
-    var chunk = data.chunk;
-    for (var i = 0; i < chunk.length; ++i)
-      this._functionItems.push(chunk[i]);
-
-    if (data.isLastChunk)
-      this.dispose();
-
+  _didBuildOutlineChunk(isLastChunk, items) {
+    this._functionItems.push(...items);
     this.refresh();
   }
 
@@ -109,16 +97,4 @@
     if (!isNaN(lineNumber) && lineNumber >= 0)
       this._selectItemCallback(lineNumber, this._functionItems[itemIndex].column);
   }
-
-  /**
-   * @override
-   */
-  dispose() {
-  }
 };
-
-
-/**
- * @typedef {{isLastChunk: boolean, chunk: !Array.<!{selectorText: string, lineNumber: number, columnNumber: number}>}}
- */
-Sources.JavaScriptOutlineDialog.MessageEventData;
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js b/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js
index d3e74339..2a43735 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/ScriptFormatter.js
@@ -46,7 +46,7 @@
 };
 
 /**
- * @param {!Array.<number>} lineEndings
+ * @param {!Array<number>} lineEndings
  * @param {number} lineNumber
  * @param {number} columnNumber
  * @return {number}
@@ -57,9 +57,9 @@
 };
 
 /**
- * @param {!Array.<number>} lineEndings
+ * @param {!Array<number>} lineEndings
  * @param {number} position
- * @return {!Array.<number>}
+ * @return {!Array<number>}
  */
 Sources.Formatter.positionToLocation = function(lineEndings, position) {
   var lineNumber = lineEndings.upperBound(position - 1);
@@ -85,27 +85,17 @@
     this._callback = callback;
     this._originalContent = content;
 
-    var parameters = {
-      mimeType: mimeType,
-      content: content,
-      indentString: Common.moduleSetting('textEditorIndent').get()
-    };
-    Common.formatterWorkerPool.runTask('format', parameters).then(this._didFormatContent.bind(this));
+    Common.formatterWorkerPool.format(mimeType, content, Common.moduleSetting('textEditorIndent').get())
+        .then(this._didFormatContent.bind(this));
   }
 
   /**
-   * @param {?MessageEvent} event
+   * @param {!Common.FormatterWorkerPool.FormatResult} formatResult
    */
-  _didFormatContent(event) {
-    var formattedContent = '';
-    var mapping = [];
-    if (event) {
-      formattedContent = event.data.content;
-      mapping = event.data['mapping'];
-    }
+  _didFormatContent(formatResult) {
     var sourceMapping = new Sources.FormatterSourceMappingImpl(
-        this._originalContent.computeLineEndings(), formattedContent.computeLineEndings(), mapping);
-    this._callback(formattedContent, sourceMapping);
+        this._originalContent.computeLineEndings(), formatResult.content.computeLineEndings(), formatResult.mapping);
+    this._callback(formatResult.content, sourceMapping);
   }
 };
 
@@ -125,11 +115,6 @@
 };
 
 /**
- * @typedef {{original: !Array.<number>, formatted: !Array.<number>}}
- */
-Sources.FormatterMappingPayload;
-
-/**
  * @interface
  */
 Sources.FormatterSourceMapping = function() {};
@@ -184,7 +169,7 @@
   /**
    * @param {!Array.<number>} originalLineEndings
    * @param {!Array.<number>} formattedLineEndings
-   * @param {!Sources.FormatterMappingPayload} mapping
+   * @param {!Common.FormatterWorkerPool.FormatMapping} mapping
    */
   constructor(originalLineEndings, formattedLineEndings, mapping) {
     this._originalLineEndings = originalLineEndings;
diff --git a/third_party/WebKit/Source/devtools/front_end/sources/SourceMapNamesResolver.js b/third_party/WebKit/Source/devtools/front_end/sources/SourceMapNamesResolver.js
index 058cba2..11d80c2e 100644
--- a/third_party/WebKit/Source/devtools/front_end/sources/SourceMapNamesResolver.js
+++ b/third_party/WebKit/Source/devtools/front_end/sources/SourceMapNamesResolver.js
@@ -51,7 +51,7 @@
     var scopeText = text.extract(scopeRange);
     var scopeStart = text.toSourceRange(scopeRange).offset;
     var prefix = 'function fui';
-    return Common.formatterWorkerPool.runTask('javaScriptIdentifiers', {content: prefix + scopeText})
+    return Common.formatterWorkerPool.javaScriptIdentifiers(prefix + scopeText)
         .then(onIdentifiers.bind(null, text, scopeStart, prefix));
   }
 
@@ -59,11 +59,10 @@
    * @param {!Common.Text} text
    * @param {number} scopeStart
    * @param {string} prefix
-   * @param {?MessageEvent} event
+   * @param {!Array<!{name: string, offset: number}>} identifiers
    * @return {!Array<!Sources.SourceMapNamesResolver.Identifier>}
    */
-  function onIdentifiers(text, scopeStart, prefix, event) {
-    var identifiers = event ? /** @type {!Array<!{name: string, offset: number}>} */ (event.data) : [];
+  function onIdentifiers(text, scopeStart, prefix, identifiers) {
     var result = [];
     var cursor = new Common.TextCursor(text.lineEndings());
     var promises = [];
@@ -282,15 +281,7 @@
     var originalText = text.extract(textRange);
     if (!originalText)
       return Promise.resolve('');
-    return Common.formatterWorkerPool.runTask('evaluatableJavaScriptSubstring', {content: originalText}).then(onResult);
-  }
-
-  /**
-   * @param {?MessageEvent} event
-   * @return {string}
-   */
-  function onResult(event) {
-    return event ? /** @type {string} */ (event.data) : '';
+    return Common.formatterWorkerPool.evaluatableJavaScriptSubstring(originalText);
   }
 };
 
diff --git a/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js b/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
index a1e9fdb..ea4e299 100644
--- a/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
+++ b/third_party/WebKit/Source/devtools/front_end/ui/Toolbar.js
@@ -515,6 +515,7 @@
    */
   _clicked(event) {
     this.dispatchEventToListeners(UI.ToolbarButton.Events.Click, event);
+    event.consume();
   }
 
   /**
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
index 0e262109..95a48b3 100644
--- a/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
+++ b/third_party/WebKit/Source/modules/payments/PaymentRequest.cpp
@@ -482,12 +482,8 @@
   // is an iframe element with an |allowpaymentrequest| attribute specified, and
   // whose node document is allowed to use the feature indicated by
   // |allowpaymentrequest|, then return true.
-  HTMLFrameOwnerElement* ownerElement = toHTMLFrameOwnerElement(frame->owner());
-  if (ownerElement && isHTMLIFrameElement(ownerElement)) {
-    HTMLIFrameElement* iframe = toHTMLIFrameElement(ownerElement);
-    if (HTMLIFrameElementPayments::from(*iframe).allowPaymentRequest(*iframe))
-      return allowedToUsePaymentRequest(frame->tree().parent());
-  }
+  if (frame->owner() && frame->owner()->allowPaymentRequest())
+    return allowedToUsePaymentRequest(frame->tree().parent());
 
   // 4. Return false.
   return false;
diff --git a/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.idl b/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.idl
index e31eb66..75d629b 100644
--- a/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.idl
+++ b/third_party/WebKit/Source/modules/shapedetection/BarcodeDetector.idl
@@ -10,5 +10,5 @@
     Exposed=(Window,Worker),
     RuntimeEnabled=ShapeDetection,
 ] interface BarcodeDetector {
-    [CallWith=ScriptState, Measure] Promise<sequence<DetectedBarcode>> detect(CanvasImageSource image);
+    [CallWith=ScriptState, Measure] Promise<sequence<DetectedBarcode>> detect(ImageBitmapSource image);
 };
diff --git a/third_party/WebKit/Source/modules/shapedetection/FaceDetector.idl b/third_party/WebKit/Source/modules/shapedetection/FaceDetector.idl
index c7d556af..a94b59f 100644
--- a/third_party/WebKit/Source/modules/shapedetection/FaceDetector.idl
+++ b/third_party/WebKit/Source/modules/shapedetection/FaceDetector.idl
@@ -10,5 +10,5 @@
     Exposed=(Window,Worker),
     RuntimeEnabled=ShapeDetection,
 ] interface FaceDetector {
-    [CallWith=ScriptState, Measure] Promise<sequence<DetectedFace>> detect(CanvasImageSource image);
+    [CallWith=ScriptState, Measure] Promise<sequence<DetectedFace>> detect(ImageBitmapSource image);
 };
diff --git a/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.cpp b/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.cpp
index a574933..241ac7c 100644
--- a/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.cpp
+++ b/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.cpp
@@ -11,7 +11,7 @@
 #include "core/frame/LocalFrame.h"
 #include "core/html/HTMLImageElement.h"
 #include "core/html/HTMLVideoElement.h"
-#include "core/html/canvas/CanvasImageSource.h"
+#include "core/html/ImageData.h"
 #include "core/loader/resource/ImageResourceContent.h"
 #include "platform/graphics/Image.h"
 #include "third_party/skia/include/core/SkImage.h"
@@ -53,10 +53,14 @@
 }
 
 ScriptPromise ShapeDetector::detect(ScriptState* scriptState,
-                                    const CanvasImageSourceUnion& imageSource) {
+                                    const ImageBitmapSourceUnion& imageSource) {
   ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState);
   ScriptPromise promise = resolver->promise();
 
+  // ImageDatas cannot be tainted by definition.
+  if (imageSource.isImageData())
+    return detectShapesOnImageData(resolver, imageSource.getAsImageData());
+
   CanvasImageSource* canvasImageSource;
   if (imageSource.isHTMLImageElement()) {
     canvasImageSource = imageSource.getAsHTMLImageElement();
@@ -141,11 +145,29 @@
                   image->height());
 }
 
+ScriptPromise ShapeDetector::detectShapesOnImageData(
+    ScriptPromiseResolver* resolver,
+    ImageData* imageData) {
+  ScriptPromise promise = resolver->promise();
+
+  uint8_t* const data = imageData->data()->data();
+  WTF::CheckedNumeric<int> allocationSize = imageData->size().area() * 4;
+
+  mojo::ScopedSharedBufferHandle sharedBufferHandle =
+      getSharedBufferOnData(resolver, data, allocationSize.ValueOrDefault(0));
+  if (!sharedBufferHandle->is_valid())
+    return promise;
+
+  return doDetect(resolver, std::move(sharedBufferHandle), imageData->width(),
+                  imageData->height());
+}
+
 ScriptPromise ShapeDetector::detectShapesOnImageElement(
     ScriptPromiseResolver* resolver,
     const HTMLImageElement* img) {
   ScriptPromise promise = resolver->promise();
 
+  // TODO(mcasas): reconsider this resolve(), https://crbug.com/674306.
   if (img->bitmapSourceSize().isZero()) {
     resolver->resolve(HeapVector<Member<DOMRect>>());
     return promise;
diff --git a/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.h b/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.h
index 3a1cc10..9f0d7b12 100644
--- a/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.h
+++ b/third_party/WebKit/Source/modules/shapedetection/ShapeDetector.h
@@ -7,6 +7,7 @@
 
 #include "bindings/core/v8/ScriptPromise.h"
 #include "bindings/core/v8/ScriptPromiseResolver.h"
+#include "core/imagebitmap/ImageBitmapFactories.h"
 #include "modules/ModulesExport.h"
 #include "modules/canvas2d/CanvasRenderingContext2D.h"
 
@@ -22,10 +23,11 @@
   explicit ShapeDetector(LocalFrame&);
   virtual ~ShapeDetector() = default;
 
-  ScriptPromise detect(ScriptState*, const CanvasImageSourceUnion&);
+  ScriptPromise detect(ScriptState*, const ImageBitmapSourceUnion&);
   DEFINE_INLINE_VIRTUAL_TRACE() {}
 
  private:
+  ScriptPromise detectShapesOnImageData(ScriptPromiseResolver*, ImageData*);
   ScriptPromise detectShapesOnImageElement(ScriptPromiseResolver*,
                                            const HTMLImageElement*);
 
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp
index 6e2130c7..568c414 100644
--- a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.cpp
@@ -5,6 +5,7 @@
 #include "platform/graphics/BitmapImageMetrics.h"
 
 #include "platform/Histogram.h"
+#include "third_party/skia/include/core/SkColorSpaceXform.h"
 #include "wtf/Threading.h"
 #include "wtf/text/WTFString.h"
 
@@ -42,18 +43,28 @@
   orientationHistogram.count(orientation);
 }
 
-void BitmapImageMetrics::countImageGamma(SkColorSpace* colorSpace) {
+void BitmapImageMetrics::countImageGammaAndGamut(SkColorSpace* colorSpace) {
   DEFINE_THREAD_SAFE_STATIC_LOCAL(
       EnumerationHistogram, gammaNamedHistogram,
       new EnumerationHistogram("Blink.ColorSpace.Source", GammaEnd));
   gammaNamedHistogram.count(getColorSpaceGamma(colorSpace));
+
+  DEFINE_THREAD_SAFE_STATIC_LOCAL(
+      EnumerationHistogram, gamutNamedHistogram,
+      new EnumerationHistogram("Blink.ColorGamut.Source", GamutEnd));
+  gamutNamedHistogram.count(getColorSpaceGamut(colorSpace));
 }
 
-void BitmapImageMetrics::countOutputGamma(SkColorSpace* colorSpace) {
+void BitmapImageMetrics::countOutputGammaAndGamut(SkColorSpace* colorSpace) {
   DEFINE_THREAD_SAFE_STATIC_LOCAL(
       EnumerationHistogram, gammaNamedHistogram,
       new EnumerationHistogram("Blink.ColorSpace.Destination", GammaEnd));
   gammaNamedHistogram.count(getColorSpaceGamma(colorSpace));
+
+  DEFINE_THREAD_SAFE_STATIC_LOCAL(
+      EnumerationHistogram, gamutNamedHistogram,
+      new EnumerationHistogram("Blink.ColorGamut.Destination", GamutEnd));
+  gamutNamedHistogram.count(getColorSpaceGamut(colorSpace));
 }
 
 BitmapImageMetrics::Gamma BitmapImageMetrics::getColorSpaceGamma(
@@ -71,4 +82,49 @@
   return gamma;
 }
 
+BitmapImageMetrics::Gamut BitmapImageMetrics::getColorSpaceGamut(
+    SkColorSpace* colorSpace) {
+  sk_sp<SkColorSpace> scRGB(
+      SkColorSpace::MakeNamed(SkColorSpace::kSRGBLinear_Named));
+  std::unique_ptr<SkColorSpaceXform> transform(
+      SkColorSpaceXform::New(colorSpace, scRGB.get()));
+
+  if (!transform)
+    return GamutUnknown;
+
+  unsigned char in[3][4];
+  float out[3][4];
+  memset(in, 0, sizeof(in));
+  in[0][0] = 255;
+  in[1][1] = 255;
+  in[2][2] = 255;
+  in[0][3] = 255;
+  in[1][3] = 255;
+  in[2][3] = 255;
+  transform->apply(SkColorSpaceXform::kRGBA_F32_ColorFormat, out,
+                   SkColorSpaceXform::kRGBA_8888_ColorFormat, in, 3,
+                   kOpaque_SkAlphaType);
+  float score = out[0][0] * out[1][1] * out[2][2];
+
+  if (score < 0.9)
+    return GamutLessThanNTSC;
+  if (score < 0.95)
+    return GamutNTSC;  // actual score 0.912839
+  if (score < 1.1)
+    return GamutSRGB;  // actual score 1.0
+  if (score < 1.3)
+    return GamutAlmostP3;
+  if (score < 1.425)
+    return GamutP3;  // actual score 1.401899
+  if (score < 1.5)
+    return GamutAdobeRGB;  // actual score 1.458385
+  if (score < 2.0)
+    return GamutWide;
+  if (score < 2.2)
+    return GamutBT2020;  // actual score 2.104520
+  if (score < 2.7)
+    return GamutProPhoto;  // actual score 2.913247
+  return GamutUltraWide;
+}
+
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.h b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.h
index d3f7bd0..32c5f73 100644
--- a/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.h
+++ b/third_party/WebKit/Source/platform/graphics/BitmapImageMetrics.h
@@ -46,13 +46,30 @@
     GammaEnd = GammaNamed + 1,
   };
 
+  enum Gamut {
+    // Values synced with 'Gamut' in src/tools/metrics/histograms/histograms.xml
+    GamutUnknown = 0,
+    GamutLessThanNTSC = 1,
+    GamutNTSC = 2,
+    GamutSRGB = 3,
+    GamutAlmostP3 = 4,
+    GamutP3 = 5,
+    GamutAdobeRGB = 6,
+    GamutWide = 7,
+    GamutBT2020 = 8,
+    GamutProPhoto = 9,
+    GamutUltraWide = 10,
+    GamutEnd
+  };
+
   static void countDecodedImageType(const String& type);
   static void countImageOrientation(const ImageOrientationEnum);
-  static void countImageGamma(SkColorSpace*);
-  static void countOutputGamma(SkColorSpace*);
+  static void countImageGammaAndGamut(SkColorSpace*);
+  static void countOutputGammaAndGamut(SkColorSpace*);
 
  private:
   static Gamma getColorSpaceGamma(SkColorSpace*);
+  static Gamut getColorSpaceGamut(SkColorSpace*);
 };
 
 }  // namespace blink
diff --git a/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
index ade0233..6763587 100644
--- a/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
+++ b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
@@ -35,7 +35,7 @@
       SkColorSpace::MakeICC(profile.data(), profile.size()).release();
 
   // UMA statistics.
-  BitmapImageMetrics::countOutputGamma(gTargetColorSpace);
+  BitmapImageMetrics::countOutputGammaAndGamut(gTargetColorSpace);
 }
 
 void ColorBehavior::setGlobalTargetColorSpaceForTesting(
diff --git a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
index a254a09..52d9298 100644
--- a/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
+++ b/third_party/WebKit/Source/platform/image-decoders/ImageDecoder.cpp
@@ -175,7 +175,7 @@
   }
 
   if (!m_hasHistogrammedColorSpace) {
-    BitmapImageMetrics::countImageGamma(m_embeddedColorSpace.get());
+    BitmapImageMetrics::countImageGammaAndGamut(m_embeddedColorSpace.get());
     m_hasHistogrammedColorSpace = true;
   }
 
diff --git a/third_party/WebKit/Source/web/DevToolsEmulator.cpp b/third_party/WebKit/Source/web/DevToolsEmulator.cpp
index cb59bd08..9fffbd78 100644
--- a/third_party/WebKit/Source/web/DevToolsEmulator.cpp
+++ b/third_party/WebKit/Source/web/DevToolsEmulator.cpp
@@ -8,6 +8,7 @@
 #include "core/frame/FrameView.h"
 #include "core/frame/Settings.h"
 #include "core/frame/VisualViewport.h"
+#include "core/input/EventHandler.h"
 #include "core/page/Page.h"
 #include "core/style/ComputedStyle.h"
 #include "platform/RuntimeEnabledFeatures.h"
@@ -90,7 +91,6 @@
       m_touchEventEmulationEnabled(false),
       m_doubleTapToZoomEnabled(false),
       m_originalTouchEventFeatureDetectionEnabled(false),
-      m_originalDeviceSupportsMouse(false),
       m_originalDeviceSupportsTouch(false),
       m_originalMaxTouchPoints(0),
       m_embedderScriptEnabled(webViewImpl->page()->settings().scriptEnabled()),
@@ -448,8 +448,6 @@
   if (!m_touchEventEmulationEnabled) {
     m_originalTouchEventFeatureDetectionEnabled =
         RuntimeEnabledFeatures::touchEventFeatureDetectionEnabled();
-    m_originalDeviceSupportsMouse =
-        m_webViewImpl->page()->settings().deviceSupportsMouse();
     m_originalDeviceSupportsTouch =
         m_webViewImpl->page()->settings().deviceSupportsTouch();
     m_originalMaxTouchPoints =
@@ -458,8 +456,12 @@
   RuntimeEnabledFeatures::setTouchEventFeatureDetectionEnabled(
       enabled ? true : m_originalTouchEventFeatureDetectionEnabled);
   if (!m_originalDeviceSupportsTouch) {
-    m_webViewImpl->page()->settings().setDeviceSupportsMouse(
-        enabled ? false : m_originalDeviceSupportsMouse);
+    if (enabled && m_webViewImpl->mainFrameImpl()) {
+      m_webViewImpl->mainFrameImpl()
+          ->frame()
+          ->eventHandler()
+          .clearMouseEventManager();
+    }
     m_webViewImpl->page()->settings().setDeviceSupportsTouch(
         enabled ? true : m_originalDeviceSupportsTouch);
     // Currently emulation does not provide multiple touch points.
diff --git a/third_party/WebKit/Source/web/DevToolsEmulator.h b/third_party/WebKit/Source/web/DevToolsEmulator.h
index c463290..1fc21b5c 100644
--- a/third_party/WebKit/Source/web/DevToolsEmulator.h
+++ b/third_party/WebKit/Source/web/DevToolsEmulator.h
@@ -110,7 +110,6 @@
   bool m_touchEventEmulationEnabled;
   bool m_doubleTapToZoomEnabled;
   bool m_originalTouchEventFeatureDetectionEnabled;
-  bool m_originalDeviceSupportsMouse;
   bool m_originalDeviceSupportsTouch;
   int m_originalMaxTouchPoints;
   std::unique_ptr<IntPoint> m_lastPinchAnchorCss;
diff --git a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
index 1791624c..c4e74c4 100644
--- a/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
+++ b/third_party/WebKit/Source/web/FrameLoaderClientImpl.cpp
@@ -898,7 +898,8 @@
       WebFrameOwnerProperties(
           frameElement->scrollingMode(), frameElement->marginWidth(),
           frameElement->marginHeight(), frameElement->allowFullscreen(),
-          frameElement->csp(), frameElement->delegatedPermissions()));
+          frameElement->allowPaymentRequest(), frameElement->csp(),
+          frameElement->delegatedPermissions()));
 }
 
 void FrameLoaderClientImpl::dispatchWillStartUsingPeerConnectionHandler(
diff --git a/third_party/WebKit/Source/web/RemoteFrameOwner.cpp b/third_party/WebKit/Source/web/RemoteFrameOwner.cpp
index d2d62ae..aaa8831 100644
--- a/third_party/WebKit/Source/web/RemoteFrameOwner.cpp
+++ b/third_party/WebKit/Source/web/RemoteFrameOwner.cpp
@@ -19,6 +19,7 @@
       m_marginWidth(frameOwnerProperties.marginWidth),
       m_marginHeight(frameOwnerProperties.marginHeight),
       m_allowFullscreen(frameOwnerProperties.allowFullscreen),
+      m_allowPaymentRequest(frameOwnerProperties.allowPaymentRequest),
       m_csp(frameOwnerProperties.requiredCsp) {}
 
 DEFINE_TRACE(RemoteFrameOwner) {
diff --git a/third_party/WebKit/Source/web/RemoteFrameOwner.h b/third_party/WebKit/Source/web/RemoteFrameOwner.h
index feb4de4..25d3977 100644
--- a/third_party/WebKit/Source/web/RemoteFrameOwner.h
+++ b/third_party/WebKit/Source/web/RemoteFrameOwner.h
@@ -41,6 +41,7 @@
   int marginWidth() const override { return m_marginWidth; }
   int marginHeight() const override { return m_marginHeight; }
   bool allowFullscreen() const override { return m_allowFullscreen; }
+  bool allowPaymentRequest() const override { return m_allowPaymentRequest; }
   AtomicString csp() const override { return m_csp; }
   const WebVector<WebPermissionType>& delegatedPermissions() const override {
     return m_delegatedPermissions;
@@ -52,6 +53,9 @@
   void setAllowFullscreen(bool allowFullscreen) {
     m_allowFullscreen = allowFullscreen;
   }
+  void setAllowPaymentRequest(bool allowPaymentRequest) {
+    m_allowPaymentRequest = allowPaymentRequest;
+  }
   void setCsp(const WebString& csp) { m_csp = csp; }
   void setDelegatedpermissions(
       const WebVector<WebPermissionType>& delegatedPermissions) {
@@ -74,6 +78,7 @@
   int m_marginWidth;
   int m_marginHeight;
   bool m_allowFullscreen;
+  bool m_allowPaymentRequest;
   WebString m_csp;
   WebVector<WebPermissionType> m_delegatedPermissions;
 };
diff --git a/third_party/WebKit/Source/web/WebFrame.cpp b/third_party/WebKit/Source/web/WebFrame.cpp
index c71218a..e7625d2 100644
--- a/third_party/WebKit/Source/web/WebFrame.cpp
+++ b/third_party/WebKit/Source/web/WebFrame.cpp
@@ -153,6 +153,7 @@
   owner->setMarginWidth(properties.marginWidth);
   owner->setMarginHeight(properties.marginHeight);
   owner->setAllowFullscreen(properties.allowFullscreen);
+  owner->setAllowPaymentRequest(properties.allowPaymentRequest);
   owner->setCsp(properties.requiredCsp);
   owner->setDelegatedpermissions(properties.delegatedPermissions);
 }
diff --git a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
index 97bbe6a..af4eb79 100644
--- a/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
+++ b/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
@@ -1590,7 +1590,8 @@
   WebFrameOwnerProperties ownerProperties(
       ownerElement->scrollingMode(), ownerElement->marginWidth(),
       ownerElement->marginHeight(), ownerElement->allowFullscreen(),
-      ownerElement->csp(), ownerElement->delegatedPermissions());
+      ownerElement->allowPaymentRequest(), ownerElement->csp(),
+      ownerElement->delegatedPermissions());
   // FIXME: Using subResourceAttributeName as fallback is not a perfect
   // solution. subResourceAttributeName returns just one attribute name. The
   // element might not have the attribute, and there might be other attributes
diff --git a/third_party/WebKit/Source/web/WebSettingsImpl.cpp b/third_party/WebKit/Source/web/WebSettingsImpl.cpp
index 7d9b181..9af4174 100644
--- a/third_party/WebKit/Source/web/WebSettingsImpl.cpp
+++ b/third_party/WebKit/Source/web/WebSettingsImpl.cpp
@@ -143,10 +143,6 @@
   m_settings->setDeviceSupportsTouch(deviceSupportsTouch);
 }
 
-void WebSettingsImpl::setDeviceSupportsMouse(bool deviceSupportsMouse) {
-  m_settings->setDeviceSupportsMouse(deviceSupportsMouse);
-}
-
 void WebSettingsImpl::setAutoZoomFocusedNodeToLegibleScale(
     bool autoZoomFocusedNodeToLegibleScale) {
   m_autoZoomFocusedNodeToLegibleScale = autoZoomFocusedNodeToLegibleScale;
diff --git a/third_party/WebKit/Source/web/WebSettingsImpl.h b/third_party/WebKit/Source/web/WebSettingsImpl.h
index 0571204c..d228e29 100644
--- a/third_party/WebKit/Source/web/WebSettingsImpl.h
+++ b/third_party/WebKit/Source/web/WebSettingsImpl.h
@@ -81,8 +81,7 @@
   void setDefaultVideoPosterURL(const WebString&) override;
   void setDeviceScaleAdjustment(float) override;
 
-  // FIXME: Replace these two with pointer/hover queries? crbug.com/441813
-  void setDeviceSupportsMouse(bool) override;
+  // FIXME: Replace this with pointer/hover queries? crbug.com/441813
   void setDeviceSupportsTouch(bool) override;
 
   void setDisableReadingFromCanvas(bool) override;
diff --git a/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp b/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
index 4fbc88aa..87ceecaa 100644
--- a/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
+++ b/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
@@ -229,8 +229,6 @@
   m_webView->settings()->setLoadsImagesAutomatically(true);
   if (updateSettingsFunc)
     updateSettingsFunc(m_webView->settings());
-  else
-    m_webView->settings()->setDeviceSupportsMouse(false);
   if (m_settingOverrider)
     m_settingOverrider->overrideSettings(m_webView->settings());
   m_webView->setDeviceScaleFactor(
diff --git a/third_party/WebKit/Source/web/tests/LinkSelectionTest.cpp b/third_party/WebKit/Source/web/tests/LinkSelectionTest.cpp
index cb91fcbb..2a653dc 100644
--- a/third_party/WebKit/Source/web/tests/LinkSelectionTest.cpp
+++ b/third_party/WebKit/Source/web/tests/LinkSelectionTest.cpp
@@ -127,11 +127,8 @@
         "foobar</a>"
         "<div id='page_text'>Lorem ipsum dolor sit amet</div>";
 
-    // We need to set deviceSupportsMouse setting to true and page's focus
-    // controller to active so that FrameView can set the mouse cursor.
-    m_webView = m_helper.initialize(
-        false, &m_testFrameClient, nullptr, nullptr,
-        [](WebSettings* settings) { settings->setDeviceSupportsMouse(true); });
+    m_webView = m_helper.initialize(false, &m_testFrameClient, nullptr, nullptr,
+                                    [](WebSettings* settings) {});
     m_mainFrame = m_webView->mainFrameImpl();
     FrameTestHelpers::loadHTMLString(
         m_mainFrame, kHTMLString, URLTestHelpers::toKURL("http://foobar.com"));
diff --git a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
index 7cf7d26a..b28dd7a3 100644
--- a/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
+++ b/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
@@ -10751,9 +10751,8 @@
 // elements below unless the scrollbar is faded out.
 TEST_F(WebFrameTest, MouseOverLinkAndOverlayScrollbar) {
   FrameTestHelpers::WebViewHelper webViewHelper;
-  webViewHelper.initialize(
-      true, nullptr, nullptr, nullptr,
-      [](WebSettings* settings) { settings->setDeviceSupportsMouse(true); });
+  webViewHelper.initialize(true, nullptr, nullptr, nullptr,
+                           [](WebSettings* settings) {});
   webViewHelper.resize(WebSize(20, 20));
   WebViewImpl* webView = webViewHelper.webView();
 
diff --git a/third_party/WebKit/public/web/WebFrameOwnerProperties.h b/third_party/WebKit/public/web/WebFrameOwnerProperties.h
index ec2f2a3..bc3cee54 100644
--- a/third_party/WebKit/public/web/WebFrameOwnerProperties.h
+++ b/third_party/WebKit/public/web/WebFrameOwnerProperties.h
@@ -19,6 +19,7 @@
   int marginWidth;
   int marginHeight;
   bool allowFullscreen;
+  bool allowPaymentRequest;
   WebString requiredCsp;
   WebVector<WebPermissionType> delegatedPermissions;
 
@@ -26,7 +27,8 @@
       : scrollingMode(ScrollingMode::Auto),
         marginWidth(-1),
         marginHeight(-1),
-        allowFullscreen(false) {}
+        allowFullscreen(false),
+        allowPaymentRequest(false) {}
 
 #if INSIDE_BLINK
   WebFrameOwnerProperties(
@@ -34,12 +36,14 @@
       int marginWidth,
       int marginHeight,
       bool allowFullscreen,
+      bool allowPaymentRequest,
       const WebString& requiredCsp,
       const WebVector<WebPermissionType>& delegatedPermissions)
       : scrollingMode(static_cast<ScrollingMode>(scrollingMode)),
         marginWidth(marginWidth),
         marginHeight(marginHeight),
         allowFullscreen(allowFullscreen),
+        allowPaymentRequest(allowPaymentRequest),
         requiredCsp(requiredCsp),
         delegatedPermissions(delegatedPermissions) {}
 #endif
diff --git a/third_party/WebKit/public/web/WebSettings.h b/third_party/WebKit/public/web/WebSettings.h
index 0724230..178f6fd 100644
--- a/third_party/WebKit/public/web/WebSettings.h
+++ b/third_party/WebKit/public/web/WebSettings.h
@@ -162,7 +162,6 @@
   virtual void setDefaultVideoPosterURL(const WebString&) = 0;
   void setDeferred2dCanvasEnabled(bool) {}  // temporary stub
   virtual void setDeviceScaleAdjustment(float) = 0;
-  virtual void setDeviceSupportsMouse(bool) = 0;
   virtual void setDeviceSupportsTouch(bool) = 0;
   virtual void setDisableReadingFromCanvas(bool) = 0;
   virtual void setDoubleTapToZoomEnabled(bool) = 0;
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 2234290..168e7f1d 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -88726,6 +88726,20 @@
   <int value="10" label="GammaNamed"/>
 </enum>
 
+<enum name="Gamut" type="int">
+  <int value="0" label="GamutUnknown"/>
+  <int value="1" label="GamutLessThanNTSC"/>
+  <int value="2" label="GamutNTSC"/>
+  <int value="3" label="GamutSRGB"/>
+  <int value="4" label="GamutAlmostP3"/>
+  <int value="5" label="GamutP3"/>
+  <int value="6" label="GamutAdobeRGB"/>
+  <int value="7" label="GamutWide"/>
+  <int value="8" label="GamutBT2020"/>
+  <int value="9" label="GamutProPhoto"/>
+  <int value="10" label="GamutUltraWide"/>
+</enum>
+
 <enum name="GarbageCollectionReason" type="int">
   <int value="0" label="kUnknown"/>
   <int value="1" label="kAllocationFailure"/>
diff --git a/ui/views/mus/BUILD.gn b/ui/views/mus/BUILD.gn
index 3fed056..ca619c5d 100644
--- a/ui/views/mus/BUILD.gn
+++ b/ui/views/mus/BUILD.gn
@@ -275,6 +275,7 @@
   testonly = true
 
   sources = [
+    "desktop_window_tree_host_mus_unittest.cc",
     "pointer_watcher_event_router2_unittest.cc",
     "run_all_unittests_aura_mus.cc",
     "screen_mus_unittest.cc",
diff --git a/ui/views/mus/desktop_window_tree_host_mus.cc b/ui/views/mus/desktop_window_tree_host_mus.cc
index 65c7426..f502133 100644
--- a/ui/views/mus/desktop_window_tree_host_mus.cc
+++ b/ui/views/mus/desktop_window_tree_host_mus.cc
@@ -252,6 +252,7 @@
   cursor_manager_ = base::MakeUnique<wm::CursorManager>(
       base::MakeUnique<NativeCursorManagerMus>(window()));
   aura::client::SetCursorClient(window(), cursor_manager_.get());
+  InitHost();
 }
 
 void DesktopWindowTreeHostMus::OnNativeWidgetCreated(
@@ -657,6 +658,7 @@
 void DesktopWindowTreeHostMus::HideImpl() {
   native_widget_delegate_->OnNativeWidgetVisibilityChanging(false);
   WindowTreeHostMus::HideImpl();
+  window()->Hide();
   native_widget_delegate_->OnNativeWidgetVisibilityChanged(false);
 }
 
diff --git a/ui/views/mus/desktop_window_tree_host_mus_unittest.cc b/ui/views/mus/desktop_window_tree_host_mus_unittest.cc
new file mode 100644
index 0000000..23c0aa0
--- /dev/null
+++ b/ui/views/mus/desktop_window_tree_host_mus_unittest.cc
@@ -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.
+
+#include "ui/views/mus/desktop_window_tree_host_mus.h"
+
+#include "base/memory/ptr_util.h"
+#include "ui/aura/window.h"
+#include "ui/views/test/views_test_base.h"
+#include "ui/views/widget/widget.h"
+#include "ui/views/widget/widget_delegate.h"
+
+namespace views {
+
+class DesktopWindowTreeHostMusTest : public ViewsTestBase {
+ public:
+  DesktopWindowTreeHostMusTest() {}
+  ~DesktopWindowTreeHostMusTest() override {}
+
+  // Creates a test widget. Takes ownership of |delegate|.
+  std::unique_ptr<Widget> CreateWidget(WidgetDelegate* delegate) {
+    std::unique_ptr<Widget> widget = base::MakeUnique<Widget>();
+    Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW);
+    params.delegate = delegate;
+    params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
+    params.bounds = gfx::Rect(0, 1, 111, 123);
+    widget->Init(params);
+    return widget;
+  }
+
+ private:
+  DISALLOW_COPY_AND_ASSIGN(DesktopWindowTreeHostMusTest);
+};
+
+TEST_F(DesktopWindowTreeHostMusTest, Visibility) {
+  std::unique_ptr<Widget> widget(CreateWidget(nullptr));
+  EXPECT_FALSE(widget->IsVisible());
+  EXPECT_FALSE(widget->GetNativeView()->IsVisible());
+  // It's important the parent is also hidden as this value is sent to the
+  // server.
+  EXPECT_FALSE(widget->GetNativeView()->parent()->IsVisible());
+  widget->Show();
+  EXPECT_TRUE(widget->IsVisible());
+  EXPECT_TRUE(widget->GetNativeView()->IsVisible());
+  EXPECT_TRUE(widget->GetNativeView()->parent()->IsVisible());
+  widget->Hide();
+  EXPECT_FALSE(widget->IsVisible());
+  EXPECT_FALSE(widget->GetNativeView()->IsVisible());
+  EXPECT_FALSE(widget->GetNativeView()->parent()->IsVisible());
+}
+
+}  // namespace views
diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
index dac01a1..a91436d 100644
--- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
+++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
@@ -424,8 +424,6 @@
   }
   desktop_window_tree_host_->Init(content_window_, params);
 
-  host_->InitHost();
-  host_->window()->Show();
   host_->window()->AddChild(content_window_container_);
   host_->window()->SetProperty(kDesktopNativeWidgetAuraKey, this);
 
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host.h b/ui/views/widget/desktop_aura/desktop_window_tree_host.h
index 1237b4e..cdf5be90 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host.h
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host.h
@@ -47,6 +47,7 @@
       DesktopNativeWidgetAura* desktop_native_widget_aura);
 
   // Sets up resources needed before the WindowEventDispatcher has been created.
+  // It is expected this calls InitHost() on the WindowTreeHost.
   virtual void Init(aura::Window* content_window,
                     const Widget::InitParams& params) = 0;
 
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 59ae48c..2d667f5 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -136,6 +136,8 @@
   }
   CreateCompositor();
   OnAcceleratedWidgetAvailable();
+  InitHost();
+  window()->Show();
 }
 
 void DesktopWindowTreeHostWin::OnNativeWidgetCreated(
diff --git a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
index d51e965..132cfa7 100644
--- a/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ b/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -453,6 +453,8 @@
     sanitized_params.bounds.set_height(100);
 
   InitX11Window(sanitized_params);
+  InitHost();
+  window()->Show();
 }
 
 void DesktopWindowTreeHostX11::OnNativeWidgetCreated(