diff --git a/extensions/browser/api/cast_channel/keep_alive_delegate.cc b/extensions/browser/api/cast_channel/keep_alive_delegate.cc
index f77c9b0..71adb89b 100644
--- a/extensions/browser/api/cast_channel/keep_alive_delegate.cc
+++ b/extensions/browser/api/cast_channel/keep_alive_delegate.cc
@@ -9,7 +9,6 @@
 
 #include "base/json/json_reader.h"
 #include "base/json/json_writer.h"
-#include "extensions/browser/api/cast_channel/cast_message_util.h"
 #include "extensions/browser/api/cast_channel/cast_socket.h"
 #include "extensions/browser/api/cast_channel/logger.h"
 #include "extensions/common/api/cast_channel/cast_channel.pb.h"
@@ -26,30 +25,19 @@
 const char kPingReceiverId[] = "receiver-0";
 const char kTypeNodeId[] = "type";
 
-// Determines if the JSON-encoded payload is equivalent to
-// { "type": |chk_type| }
-bool NestedPayloadTypeEquals(const std::string& chk_type,
-                             const CastMessage& message) {
-  MessageInfo message_info;
-  CastMessageToMessageInfo(message, &message_info);
-  std::string type_json;
-  if (!message_info.data->GetAsString(&type_json)) {
-    return false;
-  }
-  std::unique_ptr<base::Value> type_value(base::JSONReader::Read(type_json));
-  if (!type_value.get()) {
-    return false;
-  }
-
-  base::DictionaryValue* type_dict;
-  if (!type_value->GetAsDictionary(&type_dict)) {
-    return false;
-  }
-
+// Parses the JSON-encoded payload of |message| and returns the value in the
+// "type" field or the empty string if the parse fails or the field is not
+// found.
+std::string ParseForPayloadType(const CastMessage& message) {
+  std::unique_ptr<base::Value> parsed_payload(
+      base::JSONReader::Read(message.payload_utf8()));
+  base::DictionaryValue* payload_as_dict;
+  if (!parsed_payload || !parsed_payload->GetAsDictionary(&payload_as_dict))
+    return std::string();
   std::string type_string;
-  return (type_dict->HasKey(kTypeNodeId) &&
-          type_dict->GetString(kTypeNodeId, &type_string) &&
-          type_string == chk_type);
+  if (!payload_as_dict->GetString(kTypeNodeId, &type_string))
+    return std::string();
+  return type_string;
 }
 
 }  // namespace
@@ -176,19 +164,22 @@
 }
 
 void KeepAliveDelegate::OnMessage(const CastMessage& message) {
-  DCHECK(started_);
   DCHECK(thread_checker_.CalledOnValidThread());
   VLOG(2) << "KeepAlive::OnMessage : " << message.payload_utf8();
 
-  ResetTimers();
+  if (started_)
+    ResetTimers();
 
-  if (NestedPayloadTypeEquals(kHeartbeatPingType, message)) {
+  // PING and PONG messages are intercepted and handled by KeepAliveDelegate
+  // here. All other messages are passed through to |inner_delegate_|.
+  const std::string payload_type = ParseForPayloadType(message);
+  if (payload_type == kHeartbeatPingType) {
     VLOG(2) << "Received PING.";
-    SendKeepAliveMessage(pong_message_, kHeartbeatPongType);
-  } else if (NestedPayloadTypeEquals(kHeartbeatPongType, message)) {
+    if (started_)
+      SendKeepAliveMessage(pong_message_, kHeartbeatPongType);
+  } else if (payload_type == kHeartbeatPongType) {
     VLOG(2) << "Received PONG.";
   } else {
-    // PING and PONG messages are intentionally suppressed from layers above.
     inner_delegate_->OnMessage(message);
   }
 }
diff --git a/extensions/browser/api/cast_channel/keep_alive_delegate_unittest.cc b/extensions/browser/api/cast_channel/keep_alive_delegate_unittest.cc
index f6f0b43..061ba4d 100644
--- a/extensions/browser/api/cast_channel/keep_alive_delegate_unittest.cc
+++ b/extensions/browser/api/cast_channel/keep_alive_delegate_unittest.cc
@@ -18,6 +18,7 @@
 #include "testing/gtest/include/gtest/gtest.h"
 
 using testing::_;
+using testing::Sequence;
 
 namespace extensions {
 namespace api {
@@ -164,6 +165,54 @@
   RunPendingTasks();
 }
 
+TEST_F(KeepAliveDelegateTest, TestPassthroughMessagesAfterError) {
+  CastMessage message =
+      KeepAliveDelegate::CreateKeepAliveMessage("NEITHER_PING_NOR_PONG");
+  CastMessage message_after_error =
+      KeepAliveDelegate::CreateKeepAliveMessage("ANOTHER_NOT_PING_NOR_PONG");
+  CastMessage late_ping_message = KeepAliveDelegate::CreateKeepAliveMessage(
+      KeepAliveDelegate::kHeartbeatPingType);
+
+  EXPECT_CALL(*inner_delegate_, Start()).Times(1);
+  EXPECT_CALL(*ping_timer_, ResetTriggered()).Times(2);
+  EXPECT_CALL(*liveness_timer_, ResetTriggered()).Times(2);
+  EXPECT_CALL(*liveness_timer_, Stop()).Times(1);
+  EXPECT_CALL(*ping_timer_, Stop()).Times(1);
+
+  Sequence message_and_error_sequence;
+  EXPECT_CALL(*inner_delegate_, OnMessage(EqualsProto(message)))
+      .Times(1)
+      .InSequence(message_and_error_sequence)
+      .RetiresOnSaturation();
+  EXPECT_CALL(*inner_delegate_, OnError(CHANNEL_ERROR_INVALID_MESSAGE))
+      .Times(1)
+      .InSequence(message_and_error_sequence);
+  EXPECT_CALL(*inner_delegate_, OnMessage(EqualsProto(message_after_error)))
+      .Times(1)
+      .InSequence(message_and_error_sequence)
+      .RetiresOnSaturation();
+  EXPECT_CALL(*inner_delegate_, OnMessage(EqualsProto(late_ping_message)))
+      .Times(0)
+      .InSequence(message_and_error_sequence)
+      .RetiresOnSaturation();
+
+  // Start, process one message, then error-out. KeepAliveDelegate will
+  // automatically stop itself.
+  keep_alive_->Start();
+  keep_alive_->OnMessage(message);
+  RunPendingTasks();
+  keep_alive_->OnError(CHANNEL_ERROR_INVALID_MESSAGE);
+  RunPendingTasks();
+
+  // Process a non-PING/PONG message and expect it to pass through.
+  keep_alive_->OnMessage(message_after_error);
+  RunPendingTasks();
+
+  // Process a late-arriving PING/PONG message, which should have no effect.
+  keep_alive_->OnMessage(late_ping_message);
+  RunPendingTasks();
+}
+
 }  // namespace
 }  // namespace cast_channel
 }  // namespace api
diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h
index 5e6c947..b6faeb9 100644
--- a/skia/config/SkUserConfig.h
+++ b/skia/config/SkUserConfig.h
@@ -227,10 +227,6 @@
 #   define SK_SUPPORT_LEGACY_CLIPOP_EXOTIC_NAMES
 #endif
 
-#ifndef    SK_SUPPORT_LEGACY_QUAD_SHIFT
-#   define SK_SUPPORT_LEGACY_QUAD_SHIFT
-#endif
-
 ///////////////////////// Imported from BUILD.gn and skia_common.gypi
 
 /* In some places Skia can use static initializers for global initialization,
diff --git a/third_party/WebKit/LayoutTests/platform/linux/svg/custom/shape-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/linux/svg/custom/shape-rendering-expected.png
index 92410d3..8ce7584 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/svg/custom/shape-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/svg/custom/shape-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
new file mode 100644
index 0000000..148a9c0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
new file mode 100644
index 0000000..95899ca0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
new file mode 100644
index 0000000..10ec88d
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index efc0aa35..04642eb 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png
index 8804309b..9906055 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/css/shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png
index a0d2a8eb..e351886 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/paint/invalidation/svg/use-detach-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/svg/css/text-shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/svg/css/text-shadow-multiple-expected.png
index 6196745..409a188 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/svg/css/text-shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/svg/css/text-shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index efc0aa35..04642eb 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/stable/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/stable/paint/invalidation/svg/use-detach-expected.png
new file mode 100644
index 0000000..e351886
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/stable/paint/invalidation/svg/use-detach-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png
index c3d6268f..2897ba3 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/css/shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
index a68dee2..39dbea2 100644
--- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index fc9a9989..6485109 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-expected.png
index 12697e0..ea54f3b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-alignment-expected.png
index be6e7b23..fc6fb33 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index 3b4cc635..39e2dcf 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png
index 7e8a288..769d73d 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/fast/css/shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
index 98e878e..ce2061c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
index e601ec36..7224eb3 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-repaint-including-stroke-expected.png
index bd068188..f3c03dca 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-repaint-including-stroke-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/text-repaint-including-stroke-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/use-detach-expected.png
index a89ab8d..f90ee13 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/use-detach-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/svg/use-detach-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
index e1af7e3..03cf97c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
index d5679ae..01c888b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
index 3a8e376..fd03f0f3 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
index 0ea118e7..025a1b9 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
index 2b32835..0daad49 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
index d71d7f4..e19adac 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
index bfa3597..3c45c3f4 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
index 8b1f607..fabb91fe 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
index 04df5cca..8c291ce 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
index a9a5212..4942295 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
index 0f9c9110..034d15b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
index c8e9834..5ee70f027 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.png
index 652bcff5..6eed113 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/smallFonts-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/smallFonts-expected.png
index df21aa4..73a28b9b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/smallFonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/smallFonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.png
index 782a61e..33abeac2 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.png
index 742c223..cd0486d0 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.png
index da908b9..dbc50de 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.png
index 2bf822b..1cdb683 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textProperties-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textStyles-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textStyles-expected.png
index a1e1642f..4d5d6fdc8 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textStyles-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/batik/text/textStyles-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/css/text-shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/css/text-shadow-multiple-expected.png
index 8a3465f2..4e4ed3e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/css/text-shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/css/text-shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/shape-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/shape-rendering-expected.png
index 86dfb271..eed7db6 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/shape-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/shape-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-text-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-text-expected.png
index 7b8d594..331708e 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-text-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-on-text-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.png
index edb0333..1059b80 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/custom/use-referencing-nonexisting-symbol-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
new file mode 100644
index 0000000..f2ba96b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
new file mode 100644
index 0000000..cb741d2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
new file mode 100644
index 0000000..cb741d2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
new file mode 100644
index 0000000..f2ba96b
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
new file mode 100644
index 0000000..cb741d2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
new file mode 100644
index 0000000..cb741d2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/error/017-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/error/017-expected.png
index 239633ee..3426831 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/error/017-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/hixie/error/017-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-deco-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-deco-01-b-expected.png
index 97d7895b..3bba914 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-deco-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-text-08-b-expected.png
index f57c383..53697a6 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
index 8b6586d..db474b4 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png b/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png
index 08f8a2fa..bd0c2d99 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/svg/transforms/text-with-pattern-with-svg-transform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index fc9a9989..6485109 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
index 12697e0..ea54f3b 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
index ecae92c..55aab63 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index 3b4cc635..39e2dcf 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
index 6b6ca27..17d6e81c 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
index 195a8be..d638819d 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index 8aabe5e75..4ec1df6 100644
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
new file mode 100644
index 0000000..ce2061c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
new file mode 100644
index 0000000..7224eb3
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
new file mode 100644
index 0000000..f3c03dca
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/use-detach-expected.png
new file mode 100644
index 0000000..f90ee13
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/stable/paint/invalidation/svg/use-detach-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index ced6ed22..7070786 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-incremental-repaint-expected.png
index 1dd8f64..ecbefce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-alignment-expected.png
index 7c65a7fa..edded79 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index eb9d80e4..0ca87c6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png
index d8767d4..f608350 100644
--- a/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/fast/css/shadow-multiple-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 18f5ed8d..72113b8 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/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
index 2b7eed1..37ce487 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
index f8293e1..523292f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-repaint-including-stroke-expected.png
index f48a08e..8494d78 100644
--- a/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-repaint-including-stroke-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/svg/text-repaint-including-stroke-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
index 6716520..88ed577 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
index ba1c451a..ece7cf0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-36-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
index d317e9c6..974227e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-39-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
index c98fadc9..70e2e48 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/animate-elem-40-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
index 1c4e75c..1117c6e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/filters-example-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
index 9badf7b..2ebd93b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
index 7e14d14..e6761057 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
index 09812116..c9ddb45 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
index 217daf9b..896b329e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-06-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
index f89f57b..2503ff1 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-07-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
index c60b54f8..cd775b2 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/render-elems-08-t-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-deco-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
index ac392d3c..5ec47078 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-text-08-b-expected.png
index 65a0b202..7c8a05b9 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/W3C-SVG-1.1/text-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
index 99ee1c2..333f405f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/smallFonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect-expected.png
index e28b9584..c8098075 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect3-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect3-expected.png
index 23738ed..589ca7b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect3-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textEffect3-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
index 58f37f1..6a4c9b0 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textFeatures-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textProperties-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textProperties-expected.png
index ad5c0cc..859bb30 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textProperties-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/batik/text/textProperties-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/css/text-shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/css/text-shadow-multiple-expected.png
index c201645f..c9cdee8 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/css/text-shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/css/text-shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/custom/shape-rendering-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/custom/shape-rendering-expected.png
index f5cf366e9..6ac6638b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/custom/shape-rendering-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/custom/shape-rendering-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-text-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-text-expected.png
index a7a280a9..126a3a7b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-text-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-on-text-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-referencing-nonexisting-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-referencing-nonexisting-symbol-expected.png
index b071626dd..08327aa 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-referencing-nonexisting-symbol-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/custom/use-referencing-nonexisting-symbol-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
index 19235bd..e7e143b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
index ad6c1437..050d7a6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
index ad6c1437..050d7a6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
index 19235bd..e7e143b 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
index ad6c1437..050d7a6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
index ad6c1437..050d7a6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/hixie/error/017-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/hixie/error/017-expected.png
index 81d91277..2e1cc7c 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/hixie/error/017-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/hixie/error/017-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-deco-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-deco-01-b-expected.png
index 3dca33a..d975488 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-deco-01-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-deco-01-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-text-08-b-expected.png
index 302f9ccd..9a3a6cb4 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
index 8bba2c3..e0d0b487 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-inside-transformed-html-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-with-svg-transform-expected.png b/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-with-svg-transform-expected.png
index baf7ca1..ea68a2e 100644
--- a/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-with-svg-transform-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/svg/transforms/text-with-pattern-with-svg-transform-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
index ced6ed22..7070786 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-imageSmoothingQuality-pixel-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
index 1dd8f64..ecbefce 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
index 290e637d..5ece78f6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index eb9d80e4..0ca87c6 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/display_list_2d_canvas/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
index 0560c07..066e4ff 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-incremental-repaint-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
index 3130d6e..b130c68f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-alignment-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
index 1842db08..56a8d4f 100644
--- a/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/gpu/fast/canvas/canvas-text-baseline-tiny-fonts-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
new file mode 100644
index 0000000..37ce487
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
new file mode 100644
index 0000000..523292f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
new file mode 100644
index 0000000..8494d78
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/platform/win/virtual/stable/paint/invalidation/svg/text-repaint-including-stroke-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/W3C-SVG-1.1/text-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/W3C-SVG-1.1/text-text-08-b-expected.png
index 696300f..dfaf802 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/W3C-SVG-1.1/text-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/W3C-SVG-1.1/text-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/css/text-shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/css/text-shadow-multiple-expected.png
index 6a85865..4aa1b684 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/css/text-shadow-multiple-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/css/text-shadow-multiple-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
index 65cae1b..f2ba96b 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
index 77a5e21..cb741d2f 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
index 77a5e21..cb741d2f 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
index 65cae1b..f2ba96b 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
index 77a5e21..cb741d2f 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
index 77a5e21..cb741d2f 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/svg/text/text-selection-text-08-b-expected.png b/third_party/WebKit/LayoutTests/platform/win7/svg/text/text-selection-text-08-b-expected.png
index 55a1f35a..c5411f1 100644
--- a/third_party/WebKit/LayoutTests/platform/win7/svg/text/text-selection-text-08-b-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/win7/svg/text/text-selection-text-08-b-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
deleted file mode 100644
index 65cae1b..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
deleted file mode 100644
index 77a5e21..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
deleted file mode 100644
index 77a5e21..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
deleted file mode 100644
index 65cae1b..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
deleted file mode 100644
index 77a5e21..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png b/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
deleted file mode 100644
index 77a5e21..0000000
--- a/third_party/WebKit/LayoutTests/svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call-expected.png
+++ /dev/null
Binary files differ
diff --git a/tools/gn/docs/reference.md b/tools/gn/docs/reference.md
index 034a112..d27db44 100644
--- a/tools/gn/docs/reference.md
+++ b/tools/gn/docs/reference.md
@@ -1641,8 +1641,9 @@
 
   The precise behavior of declare args is:
 
-   1. The declare_arg block executes. Any variables in the enclosing scope are
-      available for reading.
+   1. The declare_args() block executes. Any variable defined in the enclosing
+      scope is available for reading, but any variable defined earlier in
+      the current scope is not (since the overrides haven't been applied yet).
 
    2. At the end of executing the block, any variables set within that scope
       are saved globally as build arguments, with their current values being
@@ -1661,12 +1662,10 @@
       like [], "", or -1, and after the declare_args block, call exec_script if
       the value is unset by the user.
 
-    - Any code inside of the declare_args block will see the default values of
-      previous variables defined in the block rather than the user-overridden
-      value. This can be surprising because you will be used to seeing the
-      overridden value. If you need to make the default value of one arg
-      dependent on the possibly-overridden value of another, write two separate
-      declare_args blocks:
+    - Because you cannot read the value of a variable defined in the same
+      block, if you need to make the default value of one arg depend
+      on the possibly-overridden value of another, write two separate
+      declare_args() blocks:
 
         declare_args() {
           enable_foo = true
diff --git a/tools/gn/functions.cc b/tools/gn/functions.cc
index e01a25c..41be19b 100644
--- a/tools/gn/functions.cc
+++ b/tools/gn/functions.cc
@@ -45,8 +45,38 @@
   return false;
 }
 
+// This key is set as a scope property on the scope of a declare_args() block,
+// in order to prevent reading a variable defined earlier in the same call
+// (see `gn help declare_args` for more).
+const void *kInDeclareArgsKey = nullptr;
+
 }  // namespace
 
+
+bool EnsureNotReadingFromSameDeclareArgs(const ParseNode* node,
+                                         const Scope* cur_scope,
+                                         const Scope* val_scope,
+                                         Err* err) {
+  // If the value didn't come from a scope at all, we're safe.
+  if (!val_scope)
+    return true;
+
+  const Scope* val_args_scope = nullptr;
+  val_scope->GetProperty(&kInDeclareArgsKey, &val_args_scope);
+
+  const Scope* cur_args_scope = nullptr;
+  cur_scope->GetProperty(&kInDeclareArgsKey, &cur_args_scope);
+  if (!val_args_scope || !cur_args_scope || (val_args_scope != cur_args_scope))
+    return true;
+
+  *err = Err(node,
+      "Reading a variable defined in the same declare_args() call.\n"
+      "\n"
+      "If you need to set the value of one arg based on another, put\n"
+      "them in two separate declare_args() calls, one after the other.\n");
+  return false;
+}
+
 bool EnsureNotProcessingImport(const ParseNode* node,
                                const Scope* scope,
                                Err* err) {
@@ -357,8 +387,9 @@
 
   The precise behavior of declare args is:
 
-   1. The declare_arg block executes. Any variables in the enclosing scope are
-      available for reading.
+   1. The declare_args() block executes. Any variable defined in the enclosing
+      scope is available for reading, but any variable defined earlier in
+      the current scope is not (since the overrides haven't been applied yet).
 
    2. At the end of executing the block, any variables set within that scope
       are saved globally as build arguments, with their current values being
@@ -377,12 +408,10 @@
       like [], "", or -1, and after the declare_args block, call exec_script if
       the value is unset by the user.
 
-    - Any code inside of the declare_args block will see the default values of
-      previous variables defined in the block rather than the user-overridden
-      value. This can be surprising because you will be used to seeing the
-      overridden value. If you need to make the default value of one arg
-      dependent on the possibly-overridden value of another, write two separate
-      declare_args blocks:
+    - Because you cannot read the value of a variable defined in the same
+      block, if you need to make the default value of one arg depend
+      on the possibly-overridden value of another, write two separate
+      declare_args() blocks:
 
         declare_args() {
           enable_foo = true
@@ -415,6 +444,7 @@
     return Value();
 
   Scope block_scope(scope);
+  block_scope.SetProperty(&kInDeclareArgsKey, &block_scope);
   block->Execute(&block_scope, err);
   if (err->has_error())
     return Value();
diff --git a/tools/gn/functions.h b/tools/gn/functions.h
index 37519d8..401384acb 100644
--- a/tools/gn/functions.h
+++ b/tools/gn/functions.h
@@ -415,6 +415,16 @@
 
 // Helper functions -----------------------------------------------------------
 
+// Validates that the scope that a value is defined in is not the scope
+// of the current declare_args() call, if that's what we're in. It is
+// illegal to read a value from inside the same declare_args() call, since
+// the overrides will not have been applied yet (see `gn help declare_args`
+// for more).
+bool EnsureNotReadingFromSameDeclareArgs(const ParseNode* node,
+                                         const Scope* cur_scope,
+                                         const Scope* val_scope,
+                                         Err* err);
+
 // Verifies that the current scope is not processing an import. If it is, it
 // will set the error, blame the given parse node for it, and return false.
 bool EnsureNotProcessingImport(const ParseNode* node,
@@ -463,7 +473,7 @@
                         const FunctionCallNode* function,
                         const std::string& name);
 
-// Some tyesp of blocks can't be nested inside other ones. For such cases,
+// Some types of blocks can't be nested inside other ones. For such cases,
 // instantiate this object upon entering the block and Enter() will fail if
 // there is already another non-nestable block on the stack.
 class NonNestableBlock {
diff --git a/tools/gn/functions_unittest.cc b/tools/gn/functions_unittest.cc
index 7156747..949b844 100644
--- a/tools/gn/functions_unittest.cc
+++ b/tools/gn/functions_unittest.cc
@@ -125,3 +125,48 @@
       "rounding = [[1, 2], [3, 4], [5], [6]]\n",
       setup.print_output());
 }
+
+TEST(Functions, DeclareArgs) {
+  TestWithScope setup;
+  Err err;
+
+  // It is not legal to read the value of an argument declared in a
+  // declare_args() from inside the call, but outside the call and in
+  // a separate call should work.
+
+  TestParseInput reading_from_same_call(R"(
+      declare_args() {
+        foo = true
+        bar = foo
+      })");
+  reading_from_same_call.parsed()->Execute(setup.scope(), &err);
+  ASSERT_TRUE(err.has_error());
+
+  TestParseInput reading_from_outside_call(R"(
+      declare_args() {
+        foo = true
+      }
+
+      bar = foo
+      assert(bar)
+      )");
+  err = Err();
+  reading_from_outside_call.parsed()->Execute(setup.scope(), &err);
+  ASSERT_FALSE(err.has_error());
+
+  TestParseInput reading_from_different_call(R"(
+      declare_args() {
+        foo = true
+      }
+
+      declare_args() {
+        bar = foo
+      }
+
+      assert(bar)
+      )");
+  err = Err();
+  TestWithScope setup2;
+  reading_from_different_call.parsed()->Execute(setup2.scope(), &err);
+  ASSERT_FALSE(err.has_error());
+}
diff --git a/tools/gn/parse_tree.cc b/tools/gn/parse_tree.cc
index ecc438b..d1de9cbf 100644
--- a/tools/gn/parse_tree.cc
+++ b/tools/gn/parse_tree.cc
@@ -487,13 +487,18 @@
 }
 
 Value IdentifierNode::Execute(Scope* scope, Err* err) const {
-  const Value* value = scope->GetValue(value_.value(), true);
+  const Scope* found_in_scope = nullptr;
+  const Value* value = scope->GetValueWithScope(value_.value(), true,
+                                                &found_in_scope);
   Value result;
   if (!value) {
     *err = MakeErrorDescribing("Undefined identifier");
     return result;
   }
 
+  if (!EnsureNotReadingFromSameDeclareArgs(this, scope, found_in_scope, err))
+    return result;
+
   result = *value;
   result.set_origin(this);
   return result;
diff --git a/tools/gn/scope.cc b/tools/gn/scope.cc
index fbe73f44..650c64a 100644
--- a/tools/gn/scope.cc
+++ b/tools/gn/scope.cc
@@ -78,25 +78,37 @@
 
 const Value* Scope::GetValue(const base::StringPiece& ident,
                              bool counts_as_used) {
+  const Scope* found_in_scope = nullptr;
+  return GetValueWithScope(ident, counts_as_used, &found_in_scope);
+}
+
+const Value* Scope::GetValueWithScope(const base::StringPiece& ident,
+                                      bool counts_as_used,
+                                      const Scope** found_in_scope) {
   // First check for programmatically-provided values.
   for (auto* provider : programmatic_providers_) {
     const Value* v = provider->GetProgrammaticValue(ident);
-    if (v)
+    if (v) {
+      *found_in_scope = nullptr;
       return v;
+    }
   }
 
   RecordMap::iterator found = values_.find(ident);
   if (found != values_.end()) {
     if (counts_as_used)
       found->second.used = true;
+    *found_in_scope = this;
     return &found->second.value;
   }
 
   // Search in the parent scope.
   if (const_containing_)
-    return const_containing_->GetValue(ident);
-  if (mutable_containing_)
-    return mutable_containing_->GetValue(ident, counts_as_used);
+    return const_containing_->GetValueWithScope(ident, found_in_scope);
+  if (mutable_containing_) {
+    return mutable_containing_->GetValueWithScope(ident, counts_as_used,
+                                                  found_in_scope);
+  }
   return nullptr;
 }
 
@@ -131,11 +143,19 @@
 }
 
 const Value* Scope::GetValue(const base::StringPiece& ident) const {
+  const Scope *found_in_scope = nullptr;
+  return GetValueWithScope(ident, &found_in_scope);
+}
+
+const Value* Scope::GetValueWithScope(const base::StringPiece& ident,
+                                      const Scope** found_in_scope) const {
   RecordMap::const_iterator found = values_.find(ident);
-  if (found != values_.end())
+  if (found != values_.end()) {
+    *found_in_scope = this;
     return &found->second.value;
+  }
   if (containing())
-    return containing()->GetValue(ident);
+    return containing()->GetValueWithScope(ident, found_in_scope);
   return nullptr;
 }
 
diff --git a/tools/gn/scope.h b/tools/gn/scope.h
index e2c64e6..31bac626 100644
--- a/tools/gn/scope.h
+++ b/tools/gn/scope.h
@@ -109,7 +109,7 @@
 
   const Settings* settings() const { return settings_; }
 
-  // See the const_/mutable_containing_ var declaraions below. Yes, it's a
+  // See the const_/mutable_containing_ var declarations below. Yes, it's a
   // bit weird that we can have a const pointer to the "mutable" one.
   Scope* mutable_containing() { return mutable_containing_; }
   const Scope* mutable_containing() const { return mutable_containing_; }
@@ -134,9 +134,18 @@
   //
   // counts_as_used should be set if the variable is being read in a way that
   // should count for unused variable checking.
+  //
+  // found_in_scope is set to the scope that contains the definition of the
+  // ident. If the value was provided programmatically (like host_cpu),
+  // found_in_scope will be set to null.
   const Value* GetValue(const base::StringPiece& ident,
                         bool counts_as_used);
   const Value* GetValue(const base::StringPiece& ident) const;
+  const Value* GetValueWithScope(const base::StringPiece& ident,
+                                 const Scope** found_in_scope) const;
+  const Value* GetValueWithScope(const base::StringPiece& ident,
+                                 bool counts_as_used,
+                                 const Scope** found_in_scope);
 
   // Returns the requested value as a mutable one if possible. If the value
   // is not found in a mutable scope, then returns null. Note that the value