diff --git a/DEPS b/DEPS
index b74a0b6..4c815e0 100644
--- a/DEPS
+++ b/DEPS
@@ -87,7 +87,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling NaCl
   # and whatever else without interference from each other.
-  'nacl_revision': 'ac9486116283416ea38bc0a8b6a8df6bddc6d520',
+  'nacl_revision': '105c60962211bb902cb6da0d714d1096f8dabc04',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling dEQP
   # and whatever else without interference from each other.
diff --git a/build/whitespace_file.txt b/build/whitespace_file.txt
index 5db5085..51516548 100644
--- a/build/whitespace_file.txt
+++ b/build/whitespace_file.txt
@@ -162,3 +162,5 @@
 No, really, I couldn't eat another bit.
 When I hunger I think of you, and a pastrami sandwich.
 Don't make a terrible mistake!
+
+We probably should actually make a chrome chromebook.
diff --git a/chrome/browser/android/accessibility/font_size_prefs_android.h b/chrome/browser/android/accessibility/font_size_prefs_android.h
index a39bb754..5c8e77f 100644
--- a/chrome/browser/android/accessibility/font_size_prefs_android.h
+++ b/chrome/browser/android/accessibility/font_size_prefs_android.h
@@ -6,8 +6,10 @@
 #define CHROME_BROWSER_ANDROID_ACCESSIBILITY_FONT_SIZE_PREFS_ANDROID_H_
 
 #include <jni.h>
+
 #include "base/android/scoped_java_ref.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/observer_list.h"
 
 class PrefChangeRegistrar;
diff --git a/chrome/browser/android/compositor/decoration_title.h b/chrome/browser/android/compositor/decoration_title.h
index f7986b9..15955f1 100644
--- a/chrome/browser/android/compositor/decoration_title.h
+++ b/chrome/browser/android/compositor/decoration_title.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "cc/resources/ui_resource_client.h"
 #include "third_party/skia/include/core/SkBitmap.h"
 #include "ui/gfx/geometry/size.h"
diff --git a/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h b/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
index d017b245..8140f69 100644
--- a/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
+++ b/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
@@ -10,6 +10,7 @@
 #include "base/android/jni_weak_ref.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "components/prefs/pref_change_registrar.h"
 
diff --git a/chrome/browser/chromeos/certificate_provider/certificate_requests.h b/chrome/browser/chromeos/certificate_provider/certificate_requests.h
index a2b0d3b..033df0d 100644
--- a/chrome/browser/chromeos/certificate_provider/certificate_requests.h
+++ b/chrome/browser/chromeos/certificate_provider/certificate_requests.h
@@ -11,6 +11,7 @@
 
 #include "base/callback_forward.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "chrome/browser/chromeos/certificate_provider/certificate_info.h"
 #include "net/cert/x509_certificate.h"
 
diff --git a/chrome/browser/chromeos/certificate_provider/thread_safe_certificate_map.h b/chrome/browser/chromeos/certificate_provider/thread_safe_certificate_map.h
index a3556211..0f347f7 100644
--- a/chrome/browser/chromeos/certificate_provider/thread_safe_certificate_map.h
+++ b/chrome/browser/chromeos/certificate_provider/thread_safe_certificate_map.h
@@ -9,6 +9,7 @@
 #include <string>
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/synchronization/lock.h"
 #include "chrome/browser/chromeos/certificate_provider/certificate_info.h"
 
diff --git a/chrome/browser/chromeos/drive/fileapi/async_file_util.h b/chrome/browser/chromeos/drive/fileapi/async_file_util.h
index 5de7cc7a..8b0f188 100644
--- a/chrome/browser/chromeos/drive/fileapi/async_file_util.h
+++ b/chrome/browser/chromeos/drive/fileapi/async_file_util.h
@@ -9,6 +9,7 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "storage/browser/fileapi/async_file_util.h"
 
 namespace drive {
diff --git a/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h b/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h
index 53f2dce8..7d9c9a37 100644
--- a/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h
+++ b/chrome/browser/chromeos/file_system_provider/fileapi/provider_async_file_util.h
@@ -9,6 +9,7 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "storage/browser/fileapi/async_file_util.h"
 
 namespace chromeos {
diff --git a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.h b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.h
index 1744029..806e74b 100644
--- a/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.h
+++ b/chrome/browser/chromeos/login/easy_unlock/easy_unlock_create_keys_operation.h
@@ -11,6 +11,7 @@
 
 #include "base/callback.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_types.h"
 #include "chromeos/login/auth/user_context.h"
diff --git a/chrome/browser/chromeos/policy/server_backed_state_keys_broker.h b/chrome/browser/chromeos/policy/server_backed_state_keys_broker.h
index e3d8e68..cffd42c3 100644
--- a/chrome/browser/chromeos/policy/server_backed_state_keys_broker.h
+++ b/chrome/browser/chromeos/policy/server_backed_state_keys_broker.h
@@ -12,6 +12,7 @@
 #include "base/callback_list.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 
 namespace base {
diff --git a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h
index 4929da2b..9155891 100644
--- a/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h
+++ b/chrome/browser/chromeos/policy/user_cloud_policy_manager_factory_chromeos.h
@@ -9,6 +9,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/singleton.h"
 #include "components/keyed_service/content/browser_context_keyed_base_factory.h"
 
diff --git a/chrome/browser/extensions/component_loader.h b/chrome/browser/extensions/component_loader.h
index 302a09ce8..047ad96 100644
--- a/chrome/browser/extensions/component_loader.h
+++ b/chrome/browser/extensions/component_loader.h
@@ -14,6 +14,7 @@
 #include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/values.h"
 #include "build/build_config.h"
diff --git a/chrome/browser/ui/views/ash/tab_scrubber.h b/chrome/browser/ui/views/ash/tab_scrubber.h
index e2748e0..ea63c37 100644
--- a/chrome/browser/ui/views/ash/tab_scrubber.h
+++ b/chrome/browser/ui/views/ash/tab_scrubber.h
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_UI_VIEWS_ASH_TAB_SCRUBBER_H_
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/timer/timer.h"
 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h"
 #include "chrome/browser/ui/views/tabs/tab_strip_observer.h"
diff --git a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h
index c7f49cf5..09848f7 100644
--- a/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h
+++ b/chrome/browser/ui/webui/chromeos/login/demo_mode_detector.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
diff --git a/chromeos/app_mode/kiosk_oem_manifest_parser.cc b/chromeos/app_mode/kiosk_oem_manifest_parser.cc
index 16c072ab..1a617597 100644
--- a/chromeos/app_mode/kiosk_oem_manifest_parser.cc
+++ b/chromeos/app_mode/kiosk_oem_manifest_parser.cc
@@ -5,6 +5,7 @@
 #include "chromeos/app_mode/kiosk_oem_manifest_parser.h"
 
 #include "base/json/json_file_value_serializer.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/strings/stringprintf.h"
 #include "base/values.h"
 
diff --git a/chromeos/audio/audio_devices_pref_handler_impl.h b/chromeos/audio/audio_devices_pref_handler_impl.h
index f9090a59..83f61ae 100644
--- a/chromeos/audio/audio_devices_pref_handler_impl.h
+++ b/chromeos/audio/audio_devices_pref_handler_impl.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/observer_list.h"
 #include "base/values.h"
 #include "chromeos/audio/audio_devices_pref_handler.h"
diff --git a/chromeos/dbus/fake_easy_unlock_client.cc b/chromeos/dbus/fake_easy_unlock_client.cc
index ece1dfe..533b51a 100644
--- a/chromeos/dbus/fake_easy_unlock_client.cc
+++ b/chromeos/dbus/fake_easy_unlock_client.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "base/json/json_string_value_serializer.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/strings/stringprintf.h"
 #include "chromeos/dbus/fake_easy_unlock_client.h"
 
diff --git a/chromeos/disks/mock_disk_mount_manager.cc b/chromeos/disks/mock_disk_mount_manager.cc
index 7b76767..14d7d7c 100644
--- a/chromeos/disks/mock_disk_mount_manager.cc
+++ b/chromeos/disks/mock_disk_mount_manager.cc
@@ -8,6 +8,7 @@
 
 #include <utility>
 
+#include "base/memory/scoped_ptr.h"
 #include "base/message_loop/message_loop.h"
 #include "base/stl_util.h"
 #include "base/strings/string_util.h"
diff --git a/chromeos/process_proxy/process_output_watcher_unittest.cc b/chromeos/process_proxy/process_output_watcher_unittest.cc
index 306113b..e22a5cc0 100644
--- a/chromeos/process_proxy/process_output_watcher_unittest.cc
+++ b/chromeos/process_proxy/process_output_watcher_unittest.cc
@@ -13,6 +13,7 @@
 #include "base/callback.h"
 #include "base/files/file_util.h"
 #include "base/location.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/posix/eintr_wrapper.h"
 #include "base/run_loop.h"
 #include "base/single_thread_task_runner.h"
diff --git a/chromeos/process_proxy/process_proxy.h b/chromeos/process_proxy/process_proxy.h
index 32a468a..06680930 100644
--- a/chromeos/process_proxy/process_proxy.h
+++ b/chromeos/process_proxy/process_proxy.h
@@ -13,6 +13,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "chromeos/process_proxy/process_output_watcher.h"
 
 namespace base {
diff --git a/chromeos/system/statistics_provider.cc b/chromeos/system/statistics_provider.cc
index 7d33b04..b1e0b13 100644
--- a/chromeos/system/statistics_provider.cc
+++ b/chromeos/system/statistics_provider.cc
@@ -12,6 +12,7 @@
 #include "base/location.h"
 #include "base/logging.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/singleton.h"
 #include "base/path_service.h"
 #include "base/strings/string_number_conversions.h"
diff --git a/chromeos/tpm/tpm_token_info_getter.h b/chromeos/tpm/tpm_token_info_getter.h
index 964c831..14bde8b 100644
--- a/chromeos/tpm/tpm_token_info_getter.h
+++ b/chromeos/tpm/tpm_token_info_getter.h
@@ -10,6 +10,7 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "chromeos/chromeos_export.h"
diff --git a/chromeos/tpm/tpm_token_loader.h b/chromeos/tpm/tpm_token_loader.h
index 84f98b8..fa8f01e 100644
--- a/chromeos/tpm/tpm_token_loader.h
+++ b/chromeos/tpm/tpm_token_loader.h
@@ -10,6 +10,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/observer_list.h"
 #include "base/threading/thread_checker.h"
diff --git a/components/timers/alarm_timer_chromeos.h b/components/timers/alarm_timer_chromeos.h
index 2f6b0ff8..5c61f52 100644
--- a/components/timers/alarm_timer_chromeos.h
+++ b/components/timers/alarm_timer_chromeos.h
@@ -8,6 +8,7 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
diff --git a/content/app/android/content_main.cc b/content/app/android/content_main.cc
index 4eaa3a3..fa4c781 100644
--- a/content/app/android/content_main.cc
+++ b/content/app/android/content_main.cc
@@ -8,6 +8,7 @@
 #include "base/base_switches.h"
 #include "base/command_line.h"
 #include "base/lazy_instance.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/trace_event/trace_event.h"
 #include "content/public/app/content_main.h"
 #include "content/public/app/content_main_delegate.h"
diff --git a/content/browser/android/child_process_launcher_android.h b/content/browser/android/child_process_launcher_android.h
index 3f09ad0..f81c5c3 100644
--- a/content/browser/android/child_process_launcher_android.h
+++ b/content/browser/android/child_process_launcher_android.h
@@ -6,11 +6,13 @@
 #define CONTENT_BROWSER_ANDROID_CHILD_PROCESS_LAUNCHER_ANDROID_H_
 
 #include <jni.h>
+
 #include <map>
 
 #include "base/callback.h"
 #include "base/command_line.h"
 #include "base/files/memory_mapped_file.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/process/process.h"
 #include "content/public/browser/file_descriptor_info.h"
 #include "ui/gl/android/scoped_java_surface.h"
diff --git a/content/renderer/android/synchronous_compositor_filter.h b/content/renderer/android/synchronous_compositor_filter.h
index 3d97cde..dc31ecff0 100644
--- a/content/renderer/android/synchronous_compositor_filter.h
+++ b/content/renderer/android/synchronous_compositor_filter.h
@@ -9,6 +9,7 @@
 
 #include "base/containers/scoped_ptr_hash_map.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "content/renderer/android/synchronous_compositor_registry.h"
 #include "content/renderer/input/input_handler_manager_client.h"
diff --git a/content/shell/browser/shell_browser_main_parts.cc b/content/shell/browser/shell_browser_main_parts.cc
index 9b17cd5..1c5dcb56 100644
--- a/content/shell/browser/shell_browser_main_parts.cc
+++ b/content/shell/browser/shell_browser_main_parts.cc
@@ -146,8 +146,8 @@
                          gfx::Size());
 }
 
-void ShellBrowserMainParts::PreMainMessageLoopRun() {
 #if defined(OS_ANDROID)
+int ShellBrowserMainParts::PreCreateThreads() {
   if (base::CommandLine::ForCurrentProcess()->HasSwitch(
           switches::kEnableCrashReporter)) {
     base::FilePath crash_dumps_dir =
@@ -155,8 +155,12 @@
             switches::kCrashDumpsDir);
     crash_dump_manager_.reset(new breakpad::CrashDumpManager(crash_dumps_dir));
   }
+
+  return 0;
+}
 #endif
 
+void ShellBrowserMainParts::PreMainMessageLoopRun() {
   net_log_.reset(new ShellNetLog("content_shell"));
   InitializeBrowserContexts();
   Shell::Initialize();
diff --git a/content/shell/browser/shell_browser_main_parts.h b/content/shell/browser/shell_browser_main_parts.h
index e506bff..f8e356f 100644
--- a/content/shell/browser/shell_browser_main_parts.h
+++ b/content/shell/browser/shell_browser_main_parts.h
@@ -39,6 +39,9 @@
 
   // BrowserMainParts overrides.
   void PreEarlyInitialization() override;
+#if defined(OS_ANDROID)
+  int PreCreateThreads() override;
+#endif
   void PreMainMessageLoopStart() override;
   void PostMainMessageLoopStart() override;
   void PreMainMessageLoopRun() override;
diff --git a/device/bluetooth/bluetooth_remote_gatt_service_android.h b/device/bluetooth/bluetooth_remote_gatt_service_android.h
index 46d5619f..a321d60 100644
--- a/device/bluetooth/bluetooth_remote_gatt_service_android.h
+++ b/device/bluetooth/bluetooth_remote_gatt_service_android.h
@@ -12,6 +12,7 @@
 #include "base/android/jni_android.h"
 #include "base/containers/scoped_ptr_hash_map.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "device/bluetooth/bluetooth_gatt_service.h"
 #include "device/bluetooth/bluetooth_uuid.h"
 
diff --git a/media/base/android/media_drm_bridge_cdm_context.h b/media/base/android/media_drm_bridge_cdm_context.h
index 3251ea8..de76c5ec 100644
--- a/media/base/android/media_drm_bridge_cdm_context.h
+++ b/media/base/android/media_drm_bridge_cdm_context.h
@@ -10,6 +10,7 @@
 #include "base/android/scoped_java_ref.h"
 #include "base/callback.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "media/base/cdm_context.h"
 #include "media/base/media_export.h"
 #include "media/base/player_tracker.h"
diff --git a/media/base/android/provision_fetcher.h b/media/base/android/provision_fetcher.h
index 43db3e37..c9673356 100644
--- a/media/base/android/provision_fetcher.h
+++ b/media/base/android/provision_fetcher.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/callback.h"
+#include "base/memory/scoped_ptr.h"
 #include "media/base/media_export.h"
 
 namespace media {
diff --git a/remoting/host/chromeos/aura_desktop_capturer.h b/remoting/host/chromeos/aura_desktop_capturer.h
index 61cd4352..624c70a 100644
--- a/remoting/host/chromeos/aura_desktop_capturer.h
+++ b/remoting/host/chromeos/aura_desktop_capturer.h
@@ -6,6 +6,7 @@
 #define REMOTING_HOST_CHROMEOS_AURA_DESKTOP_CAPTURER_H_
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
 
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index 291757e..165abbcf 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1208,14 +1208,6 @@
 crbug.com/591500 [ Win10 ] printing/ellipsis-printing-style.html [ Skip ]
 crbug.com/591500 [ Win10 ] printing/iframe-print.html [ Skip ]
 crbug.com/591500 [ Win10 ] virtual/threaded/printing/iframe-print.html [ Skip ]
-crbug.com/599946 [ Win10 ] printing/quirks-percentage-height-body.html [ Missing ]
-crbug.com/599946 [ Win10 ] printing/quirks-percentage-height.html [ Missing ]
-crbug.com/599946 [ Win10 ] printing/standards-percentage-heights.html [ Missing ]
-crbug.com/599946 [ Win10 ] printing/subframes-percentage-height.html [ Missing ]
-crbug.com/599946 [ Win10 ] virtual/threaded/printing/quirks-percentage-height-body.html [ Missing ]
-crbug.com/599946 [ Win10 ] virtual/threaded/printing/quirks-percentage-height.html [ Missing ]
-crbug.com/599946 [ Win10 ] virtual/threaded/printing/standards-percentage-heights.html [ Missing ]
-crbug.com/599946 [ Win10 ] virtual/threaded/printing/subframes-percentage-height.html [ Missing ]
 
 crbug.com/331582 [ Win ] fast/inline/justify-emphasis-inline-box.html [ Failure ]
 crbug.com/474759 fast/writing-mode/vertical-rl-replaced-selection.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-body-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-body-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/quirks-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/subframes-percentage-height-expected.png
deleted file mode 100644
index 0eb38f7a..0000000
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/threaded/printing/subframes-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-body-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-body-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/printing/quirks-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/mac/printing/subframes-percentage-height-expected.png
deleted file mode 100644
index 0eb38f7a..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/printing/subframes-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-body-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-body-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/quirks-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/subframes-percentage-height-expected.png
deleted file mode 100644
index 0eb38f7a..0000000
--- a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/subframes-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-body-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-body-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/printing/quirks-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/printing/standards-percentage-heights-expected.png b/third_party/WebKit/LayoutTests/platform/win7/printing/standards-percentage-heights-expected.png
deleted file mode 100644
index e7c91e11..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/printing/standards-percentage-heights-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/win7/printing/subframes-percentage-height-expected.png
deleted file mode 100644
index 0eb38f7a..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/printing/subframes-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-body-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-body-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-expected.png
deleted file mode 100644
index d65714b..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/quirks-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/standards-percentage-heights-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/standards-percentage-heights-expected.png
deleted file mode 100644
index e7c91e11..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/standards-percentage-heights-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/subframes-percentage-height-expected.png
deleted file mode 100644
index 0eb38f7a..0000000
--- a/third_party/WebKit/LayoutTests/platform/win7/virtual/threaded/printing/subframes-percentage-height-expected.png
+++ /dev/null
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/printing/quirks-percentage-height-body-expected.png b/third_party/WebKit/LayoutTests/printing/quirks-percentage-height-body-expected.png
similarity index 100%
rename from third_party/WebKit/LayoutTests/platform/linux/printing/quirks-percentage-height-body-expected.png
rename to third_party/WebKit/LayoutTests/printing/quirks-percentage-height-body-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/printing/quirks-percentage-height-expected.png b/third_party/WebKit/LayoutTests/printing/quirks-percentage-height-expected.png
similarity index 100%
rename from third_party/WebKit/LayoutTests/platform/linux/printing/quirks-percentage-height-expected.png
rename to third_party/WebKit/LayoutTests/printing/quirks-percentage-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/printing/standards-percentage-heights-expected.png b/third_party/WebKit/LayoutTests/printing/standards-percentage-heights-expected.png
similarity index 100%
rename from third_party/WebKit/LayoutTests/platform/mac/printing/standards-percentage-heights-expected.png
rename to third_party/WebKit/LayoutTests/printing/standards-percentage-heights-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/printing/subframes-percentage-height-expected.png b/third_party/WebKit/LayoutTests/printing/subframes-percentage-height-expected.png
similarity index 100%
rename from third_party/WebKit/LayoutTests/platform/linux/printing/subframes-percentage-height-expected.png
rename to third_party/WebKit/LayoutTests/printing/subframes-percentage-height-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/standards-percentage-heights-expected.png b/third_party/WebKit/LayoutTests/virtual/threaded/printing/standards-percentage-heights-expected.png
similarity index 100%
rename from third_party/WebKit/LayoutTests/platform/mac/virtual/threaded/printing/standards-percentage-heights-expected.png
rename to third_party/WebKit/LayoutTests/virtual/threaded/printing/standards-percentage-heights-expected.png
Binary files differ
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
index af05daba..a41ebe3 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.cpp
@@ -17,6 +17,7 @@
 #include "platform/ThreadSafeFunctional.h"
 #include "platform/TraceEvent.h"
 #include "public/platform/WebScheduler.h"
+#include "wtf/Deque.h"
 #include "wtf/text/TextEncodingRegistry.h"
 
 namespace blink {
@@ -156,7 +157,7 @@
         }
     }
 
-    WTF::Deque<std::pair<const uint8_t*, size_t>> m_data;
+    Deque<std::pair<const uint8_t*, size_t>> m_data;
     bool m_finished;
     Mutex m_mutex;
     ThreadCondition m_haveData;
@@ -529,7 +530,7 @@
         m_source = adoptPtr(new v8::ScriptCompiler::StreamedSource(m_stream, m_encoding));
 
         ScriptState::Scope scope(m_scriptState.get());
-        WTF::OwnPtr<v8::ScriptCompiler::ScriptStreamingTask> scriptStreamingTask(adoptPtr(v8::ScriptCompiler::StartStreamingScript(m_scriptState->isolate(), m_source.get(), m_compileOptions)));
+        OwnPtr<v8::ScriptCompiler::ScriptStreamingTask> scriptStreamingTask(adoptPtr(v8::ScriptCompiler::StartStreamingScript(m_scriptState->isolate(), m_source.get(), m_compileOptions)));
         if (!scriptStreamingTask) {
             // V8 cannot stream the script.
             suppressStreaming();
@@ -540,10 +541,6 @@
             return;
         }
 
-        // ScriptStreamer needs to stay alive as long as the background task is
-        // running. This is taken care of with a manual ref() & deref() pair;
-        // the corresponding deref() is in streamingComplete.
-        ref();
         ScriptStreamerThread::shared()->postTask(threadSafeBind(&ScriptStreamerThread::runScriptStreamingTask, scriptStreamingTask.release(), AllowCrossThreadAccess(this)));
         recordStartedStreamingHistogram(m_scriptType, 1);
     }
@@ -615,18 +612,13 @@
     // needed. In addition, if the streaming is suppressed, the non-streaming
     // code path will resume after the resource has loaded, before the
     // background task finishes.
-    if (m_detached || m_streamingSuppressed) {
-        deref();
+    if (m_detached || m_streamingSuppressed)
         return;
-    }
 
     // We have now streamed the whole script to V8 and it has parsed the
     // script. We're ready for the next step: compiling and executing the
     // script.
     notifyFinishedToClient();
-
-    // The background thread no longer holds an implicit reference.
-    deref();
 }
 
 void ScriptStreamer::notifyFinishedToClient()
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
index 98c4f6e0..1dcceadb 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamer.h
@@ -7,7 +7,7 @@
 
 #include "core/CoreExport.h"
 #include "platform/heap/Handle.h"
-#include "wtf/RefCounted.h"
+#include "wtf/Noncopyable.h"
 #include "wtf/text/WTFString.h"
 
 #include <v8.h>
@@ -29,7 +29,7 @@
 // streaming. It is possible, though, that Document and the PendingScript are
 // destroyed while the streaming is in progress, and ScriptStreamer handles it
 // gracefully.
-class CORE_EXPORT ScriptStreamer final : public RefCountedGarbageCollected<ScriptStreamer> {
+class CORE_EXPORT ScriptStreamer final : public GarbageCollectedFinalized<ScriptStreamer> {
     WTF_MAKE_NONCOPYABLE(ScriptStreamer);
 public:
     enum Type {
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.cpp b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.cpp
index 5392ad2..f28bcd3 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.cpp
@@ -76,7 +76,7 @@
     return *m_thread;
 }
 
-void ScriptStreamerThread::runScriptStreamingTask(WTF::PassOwnPtr<v8::ScriptCompiler::ScriptStreamingTask> task, ScriptStreamer* streamer)
+void ScriptStreamerThread::runScriptStreamingTask(PassOwnPtr<v8::ScriptCompiler::ScriptStreamingTask> task, ScriptStreamer* streamer)
 {
     TRACE_EVENT1("v8,devtools.timeline", "v8.parseOnBackground", "data", InspectorParseScriptEvent::data(streamer->scriptResourceIdentifier(), streamer->scriptURLString()));
     // Running the task can and will block: SourceStream::GetSomeData will get
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h
index 8af85a4..ad5966b 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h
+++ b/third_party/WebKit/Source/bindings/core/v8/ScriptStreamerThread.h
@@ -27,7 +27,7 @@
     static void shutdown();
     static ScriptStreamerThread* shared();
 
-    void postTask(WTF::PassOwnPtr<WTF::CrossThreadClosure>);
+    void postTask(PassOwnPtr<CrossThreadClosure>);
 
     bool isRunningTask() const
     {
@@ -37,7 +37,7 @@
 
     void taskDone();
 
-    static void runScriptStreamingTask(WTF::PassOwnPtr<v8::ScriptCompiler::ScriptStreamingTask>, ScriptStreamer*);
+    static void runScriptStreamingTask(PassOwnPtr<v8::ScriptCompiler::ScriptStreamingTask>, ScriptStreamer*);
 
 private:
     ScriptStreamerThread()
@@ -52,7 +52,7 @@
 
     // At the moment, we only use one thread, so we can only stream one script
     // at a time. FIXME: Use a thread pool and stream multiple scripts.
-    WTF::OwnPtr<WebThread> m_thread;
+    OwnPtr<WebThread> m_thread;
     bool m_runningTask;
     mutable Mutex m_mutex; // Guards m_runningTask.
 };
diff --git a/tools/android/md5sum/md5sum.cc b/tools/android/md5sum/md5sum.cc
index dacf8f4..94efa10 100644
--- a/tools/android/md5sum/md5sum.cc
+++ b/tools/android/md5sum/md5sum.cc
@@ -17,6 +17,7 @@
 #include "base/files/file_util.h"
 #include "base/logging.h"
 #include "base/md5.h"
+#include "base/memory/scoped_ptr.h"
 
 namespace {
 
diff --git a/tools/clang/scripts/upload_revision.py b/tools/clang/scripts/upload_revision.py
index a9bd1bf..cd900fe 100755
--- a/tools/clang/scripts/upload_revision.py
+++ b/tools/clang/scripts/upload_revision.py
@@ -64,8 +64,11 @@
   Git(["checkout", "-b", "clang-{}-{}".format(
       clang_revision, clang_sub_revision)])
   Git(["add", UPDATE_PY_PATH])
-  Git(["commit", "-m", "Roll clang {}:{}.".format(
-      clang_old_revision, clang_revision)])
+
+  commit_message = 'Ran `{}`.'.format(' '.join(sys.argv))
+  Git(["commit", "-m", "Roll clang {}:{}.\n\n{}".format(
+      clang_old_revision, clang_revision, commit_message)])
+
   Git(["cl", "upload"])
   Git(["cl", "try", "-b", "linux_chromium_clang_upload", "-r", git_revision])
   Git(["cl", "try", "-b", "mac_chromium_clang_upload", "-r", git_revision])