diff --git a/DEPS b/DEPS
index 7488f229..25b42c0 100644
--- a/DEPS
+++ b/DEPS
@@ -39,7 +39,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling Skia
   # and whatever else without interference from each other.
-  'skia_revision': 'cf9bafceafaf6c0bf8b0eac8de509aa1d8407fca',
+  'skia_revision': '60c9b58b3214b0154c931656e91e39b230e987d8',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
diff --git a/build/gn_helpers.py b/build/gn_helpers.py
index f1037720..6a61a08 100644
--- a/build/gn_helpers.py
+++ b/build/gn_helpers.py
@@ -36,6 +36,9 @@
         value.replace('\\', '\\\\').replace('"', '\\"').replace('$', '\\$') + \
         '"'
 
+  if isinstance(value, unicode):
+    return ToGNString(value.encode('utf-8'))
+
   if isinstance(value, bool):
     if value:
       return "true"
diff --git a/chrome/browser/apps/app_shim/app_shim_host_manager_mac.h b/chrome/browser/apps/app_shim/app_shim_host_manager_mac.h
index 979f978..db97624 100644
--- a/chrome/browser/apps/app_shim/app_shim_host_manager_mac.h
+++ b/chrome/browser/apps/app_shim/app_shim_host_manager_mac.h
@@ -7,6 +7,7 @@
 
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "chrome/browser/apps/app_shim/unix_domain_socket_acceptor.h"
 #include "content/public/browser/browser_thread.h"
 
diff --git a/chrome/browser/media_galleries/fileapi/file_path_watcher_util.h b/chrome/browser/media_galleries/fileapi/file_path_watcher_util.h
index 09bd088b..1613869 100644
--- a/chrome/browser/media_galleries/fileapi/file_path_watcher_util.h
+++ b/chrome/browser/media_galleries/fileapi/file_path_watcher_util.h
@@ -8,6 +8,7 @@
 #include "base/callback_forward.h"
 #include "base/files/file_path.h"
 #include "base/files/file_path_watcher.h"
+#include "base/memory/scoped_ptr.h"
 
 typedef base::Callback<void(scoped_ptr<base::FilePathWatcher> watcher)>
     FileWatchStartedCallback;
diff --git a/chrome/browser/media_galleries/fileapi/iapps_data_provider.h b/chrome/browser/media_galleries/fileapi/iapps_data_provider.h
index 7e7973f..1aeeaa5 100644
--- a/chrome/browser/media_galleries/fileapi/iapps_data_provider.h
+++ b/chrome/browser/media_galleries/fileapi/iapps_data_provider.h
@@ -13,6 +13,7 @@
 #include "base/files/file_path.h"
 #include "base/files/file_path_watcher.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 
 namespace iapps {
diff --git a/chrome/browser/media_galleries/fileapi/iapps_finder_impl_mac.mm b/chrome/browser/media_galleries/fileapi/iapps_finder_impl_mac.mm
index 3140864..3cd717a 100644
--- a/chrome/browser/media_galleries/fileapi/iapps_finder_impl_mac.mm
+++ b/chrome/browser/media_galleries/fileapi/iapps_finder_impl_mac.mm
@@ -9,6 +9,7 @@
 #include "base/logging.h"
 #import "base/mac/foundation_util.h"
 #import "base/mac/scoped_nsobject.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/time/time.h"
 #include "components/policy/core/common/preferences_mac.h"
diff --git a/chrome/browser/media_galleries/fileapi/picasa_finder_mac.mm b/chrome/browser/media_galleries/fileapi/picasa_finder_mac.mm
index b0c1d15..e7a768a 100644
--- a/chrome/browser/media_galleries/fileapi/picasa_finder_mac.mm
+++ b/chrome/browser/media_galleries/fileapi/picasa_finder_mac.mm
@@ -7,6 +7,7 @@
 #include "base/files/file_path.h"
 #import "base/mac/foundation_util.h"
 #import "base/mac/scoped_nsobject.h"
+#include "base/memory/scoped_ptr.h"
 #include "components/policy/core/common/preferences_mac.h"
 #include "content/public/browser/browser_thread.h"
 
diff --git a/chrome/browser/ui/cocoa/applescript/apple_event_util_unittest.mm b/chrome/browser/ui/cocoa/applescript/apple_event_util_unittest.mm
index 7b962cc5..b78eebbd4 100644
--- a/chrome/browser/ui/cocoa/applescript/apple_event_util_unittest.mm
+++ b/chrome/browser/ui/cocoa/applescript/apple_event_util_unittest.mm
@@ -11,6 +11,7 @@
 #include "base/json/json_reader.h"
 #include "base/mac/scoped_aedesc.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc
index af2eb5a..edb9afc 100644
--- a/chrome/renderer/chrome_render_frame_observer.cc
+++ b/chrome/renderer/chrome_render_frame_observer.cc
@@ -5,6 +5,7 @@
 #include "chrome/renderer/chrome_render_frame_observer.h"
 
 #include <stddef.h>
+#include <string.h>
 
 #include <limits>
 #include <string>
@@ -28,6 +29,8 @@
 #include "content/public/renderer/render_view.h"
 #include "extensions/common/constants.h"
 #include "net/base/url_util.h"
+#include "net/ssl/ssl_cipher_suite_names.h"
+#include "net/ssl/ssl_connection_status_flags.h"
 #include "skia/ext/image_operations.h"
 #include "third_party/WebKit/public/platform/WebImage.h"
 #include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerPromptReply.h"
@@ -247,9 +250,10 @@
       switches::kAllowInsecureLocalhost);
   WebDataSource* ds = render_frame()->GetWebFrame()->dataSource();
 
+  SSLStatus ssl_status = render_frame()->GetRenderView()->GetSSLStatusOfFrame(
+      render_frame()->GetWebFrame());
+
   if (allow_localhost) {
-    SSLStatus ssl_status = render_frame()->GetRenderView()->GetSSLStatusOfFrame(
-        render_frame()->GetWebFrame());
     bool is_cert_error = net::IsCertStatusError(ssl_status.cert_status) &&
                          !net::IsCertStatusMinorError(ssl_status.cert_status);
     bool is_localhost = net::IsLocalhost(GURL(ds->request().url()).host());
@@ -266,6 +270,25 @@
                   " releasing your website to the public.")));
     }
   }
+
+  // DHE is deprecated and will be removed in M52. See https://crbug.com/598109.
+  // TODO(davidben): Remove this logic when DHE is removed.
+  uint16_t cipher_suite =
+      net::SSLConnectionStatusToCipherSuite(ssl_status.connection_status);
+  const char* key_exchange;
+  const char* unused;
+  bool is_aead_unused;
+  net::SSLCipherSuiteToStrings(&key_exchange, &unused, &unused, &is_aead_unused,
+                               cipher_suite);
+  if (strcmp(key_exchange, "DHE_RSA") == 0) {
+    render_frame()->GetWebFrame()->addMessageToConsole(blink::WebConsoleMessage(
+        blink::WebConsoleMessage::LevelWarning,
+        base::ASCIIToUTF16("This site requires a DHE-based SSL cipher suite. "
+                           "These are deprecated and will be removed in M52, "
+                           "around July 2016. See "
+                           "https://www.chromestatus.com/feature/"
+                           "5752033759985664 for more details.")));
+  }
 }
 
 void ChromeRenderFrameObserver::OnAppBannerPromptRequest(
diff --git a/chrome/utility/image_writer/disk_unmounter_mac.h b/chrome/utility/image_writer/disk_unmounter_mac.h
index 66057117..2b0992b 100644
--- a/chrome/utility/image_writer/disk_unmounter_mac.h
+++ b/chrome/utility/image_writer/disk_unmounter_mac.h
@@ -11,6 +11,7 @@
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/mac/foundation_util.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/single_thread_task_runner.h"
 #include "base/threading/thread.h"
diff --git a/chrome/utility/image_writer/image_writer.h b/chrome/utility/image_writer/image_writer.h
index 3256a86..ad7b0bc 100644
--- a/chrome/utility/image_writer/image_writer.h
+++ b/chrome/utility/image_writer/image_writer.h
@@ -13,6 +13,7 @@
 #include "base/callback.h"
 #include "base/files/file.h"
 #include "base/files/file_path.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "build/build_config.h"
 
diff --git a/components/wifi/network_properties.h b/components/wifi/network_properties.h
index 8f90768e..ae9a08d 100644
--- a/components/wifi/network_properties.h
+++ b/components/wifi/network_properties.h
@@ -11,6 +11,7 @@
 #include <set>
 #include <string>
 
+#include "base/memory/scoped_ptr.h"
 #include "base/values.h"
 #include "components/wifi/wifi_export.h"
 
diff --git a/components/wifi/wifi_service.h b/components/wifi/wifi_service.h
index 3c10c12..47d2def3 100644
--- a/components/wifi/wifi_service.h
+++ b/components/wifi/wifi_service.h
@@ -13,6 +13,7 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/ref_counted.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/threading/sequenced_worker_pool.h"
 #include "base/values.h"
 #include "components/wifi/wifi_export.h"
diff --git a/content/browser/cocoa/system_hotkey_helper_mac.h b/content/browser/cocoa/system_hotkey_helper_mac.h
index d8e0153..004b2087 100644
--- a/content/browser/cocoa/system_hotkey_helper_mac.h
+++ b/content/browser/cocoa/system_hotkey_helper_mac.h
@@ -6,6 +6,7 @@
 #define CONTENT_BROWSER_COCOA_SYSTEM_HOTKEY_HELPER_MAC_H_
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/memory/singleton.h"
 #include "base/memory/weak_ptr.h"
 
diff --git a/content/common/sandbox_mac_diraccess_unittest.mm b/content/common/sandbox_mac_diraccess_unittest.mm
index 17be671..205e1cb 100644
--- a/content/common/sandbox_mac_diraccess_unittest.mm
+++ b/content/common/sandbox_mac_diraccess_unittest.mm
@@ -13,6 +13,7 @@
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/process/kill.h"
 #include "base/strings/sys_string_conversions.h"
 #include "base/strings/utf_string_conversions.h"
diff --git a/media/capture/device_monitor_mac.h b/media/capture/device_monitor_mac.h
index 853a2ddb..e9562cd4 100644
--- a/media/capture/device_monitor_mac.h
+++ b/media/capture/device_monitor_mac.h
@@ -6,6 +6,7 @@
 #define MEDIA_CAPTURE_DEVICE_MONITOR_MAC_H_
 
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/system_monitor/system_monitor.h"
 #include "base/threading/thread_checker.h"
 #include "media/base/media_export.h"
diff --git a/media/filters/memory_data_source_unittest.cc b/media/filters/memory_data_source_unittest.cc
index 7de54b5..54038fcb 100644
--- a/media/filters/memory_data_source_unittest.cc
+++ b/media/filters/memory_data_source_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "base/bind.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/rand_util.h"
 #include "media/filters/memory_data_source.h"
 #include "testing/gmock/include/gmock/gmock.h"
diff --git a/rlz/chromeos/lib/rlz_value_store_chromeos.cc b/rlz/chromeos/lib/rlz_value_store_chromeos.cc
index 8d526fe..9f07b75a 100644
--- a/rlz/chromeos/lib/rlz_value_store_chromeos.cc
+++ b/rlz/chromeos/lib/rlz_value_store_chromeos.cc
@@ -212,7 +212,7 @@
   int error_code = 0;
   std::string error_msg;
   JSONFileValueDeserializer deserializer(store_path_);
-  scoped_ptr<base::Value> value =
+  std::unique_ptr<base::Value> value =
       deserializer.Deserialize(&error_code, &error_msg);
   switch (error_code) {
     case JSONFileValueDeserializer::JSON_NO_SUCH_FILE:
@@ -231,7 +231,7 @@
   std::string json_data;
   JSONStringValueSerializer serializer(&json_data);
   serializer.set_pretty_print(true);
-  scoped_ptr<base::DictionaryValue> copy =
+  std::unique_ptr<base::DictionaryValue> copy =
       rlz_store_->DeepCopyWithoutEmptyChildren();
   if (!serializer.Serialize(*copy.get())) {
     LOG(ERROR) << "Failed to serialize RLZ data";
diff --git a/rlz/chromeos/lib/rlz_value_store_chromeos.h b/rlz/chromeos/lib/rlz_value_store_chromeos.h
index e4c557f..182ba0e 100644
--- a/rlz/chromeos/lib/rlz_value_store_chromeos.h
+++ b/rlz/chromeos/lib/rlz_value_store_chromeos.h
@@ -8,6 +8,8 @@
 #include <stddef.h>
 #include <stdint.h>
 
+#include <memory>
+
 #include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/threading/non_thread_safe.h"
@@ -74,7 +76,7 @@
                            const base::Value& value);
 
   // In-memory store with RLZ data.
-  scoped_ptr<base::DictionaryValue> rlz_store_;
+  std::unique_ptr<base::DictionaryValue> rlz_store_;
 
   base::FilePath store_path_;
 
diff --git a/rlz/lib/financial_ping.cc b/rlz/lib/financial_ping.cc
index e1e5eed0..1e0e362 100644
--- a/rlz/lib/financial_ping.cc
+++ b/rlz/lib/financial_ping.cc
@@ -8,9 +8,10 @@
 
 #include <stdint.h>
 
+#include <memory>
+
 #include "base/atomicops.h"
 #include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
@@ -280,7 +281,7 @@
     return false;
 
   // Get the response text.
-  scoped_ptr<char[]> buffer(new char[kMaxPingResponseLength]);
+  std::unique_ptr<char[]> buffer(new char[kMaxPingResponseLength]);
   if (buffer.get() == NULL)
     return false;
 
@@ -305,7 +306,7 @@
     return false;
 
   // Run a blocking event loop to match the win inet implementation.
-  scoped_ptr<base::MessageLoop> message_loop;
+  std::unique_ptr<base::MessageLoop> message_loop;
   // Ensure that we have a MessageLoop.
   if (!base::MessageLoop::current())
     message_loop.reset(new base::MessageLoop);
@@ -316,7 +317,7 @@
                                        kFinancialServer, kFinancialPort,
                                        request);
 
-  scoped_ptr<net::URLFetcher> fetcher =
+  std::unique_ptr<net::URLFetcher> fetcher =
       net::URLFetcher::Create(GURL(url), net::URLFetcher::GET, &delegate);
 
   fetcher->SetLoadFlags(net::LOAD_DISABLE_CACHE |
diff --git a/rlz/lib/rlz_lib_test.cc b/rlz/lib/rlz_lib_test.cc
index 666aee1..36fdbb6 100644
--- a/rlz/lib/rlz_lib_test.cc
+++ b/rlz/lib/rlz_lib_test.cc
@@ -15,8 +15,9 @@
 
 #include <stddef.h>
 
+#include <memory>
+
 #include "base/logging.h"
-#include "base/memory/scoped_ptr.h"
 #include "base/posix/eintr_wrapper.h"
 #include "build/build_config.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -574,7 +575,7 @@
 #if defined(OS_WIN)
 template<class T>
 class typed_buffer_ptr {
-  scoped_ptr<char[]> buffer_;
+  std::unique_ptr<char[]> buffer_;
 
  public:
   typed_buffer_ptr() {
diff --git a/rlz/lib/rlz_value_store.h b/rlz/lib/rlz_value_store.h
index e2cc847d..282ce17 100644
--- a/rlz/lib/rlz_value_store.h
+++ b/rlz/lib/rlz_value_store.h
@@ -8,10 +8,10 @@
 #include <stddef.h>
 #include <stdint.h>
 
+#include <memory>
 #include <string>
 #include <vector>
 
-#include "base/memory/scoped_ptr.h"
 #include "build/build_config.h"
 #include "rlz/lib/rlz_enums.h"
 
@@ -99,7 +99,7 @@
   RlzValueStore* GetStore();
 
  private:
-  scoped_ptr<RlzValueStore> store_;
+  std::unique_ptr<RlzValueStore> store_;
 #if defined(OS_WIN)
   LibMutex lock_;
 #elif defined(OS_MACOSX)
diff --git a/rlz/win/lib/machine_deal.cc b/rlz/win/lib/machine_deal.cc
index b3984e6..8bfa9db 100644
--- a/rlz/win/lib/machine_deal.cc
+++ b/rlz/win/lib/machine_deal.cc
@@ -11,7 +11,6 @@
 #include <vector>
 
 #include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
 #include "base/strings/string_split.h"
 #include "base/strings/string_util.h"
 #include "base/strings/stringprintf.h"
diff --git a/rlz/win/lib/machine_id_win.cc b/rlz/win/lib/machine_id_win.cc
index 518c0da..6c1f428 100644
--- a/rlz/win/lib/machine_id_win.cc
+++ b/rlz/win/lib/machine_id_win.cc
@@ -4,10 +4,11 @@
 
 #include <windows.h>
 #include <Sddl.h>  // For ConvertSidToStringSidW.
+
+#include <memory>
 #include <string>
 
 #include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
 #include "base/strings/string16.h"
 #include "rlz/lib/assert.h"
 
@@ -42,7 +43,7 @@
 bool GetComputerSid(const wchar_t* account_name, SID* sid, DWORD sid_size) {
   static const DWORD kStartDomainLength = 128;  // reasonable to start with
 
-  scoped_ptr<wchar_t[]> domain_buffer(new wchar_t[kStartDomainLength]);
+  std::unique_ptr<wchar_t[]> domain_buffer(new wchar_t[kStartDomainLength]);
   DWORD domain_size = kStartDomainLength;
   DWORD sid_dword_size = sid_size;
   SID_NAME_USE sid_name_use;
diff --git a/rlz/win/lib/process_info.cc b/rlz/win/lib/process_info.cc
index 9ac1f6f..8bf09e1 100644
--- a/rlz/win/lib/process_info.cc
+++ b/rlz/win/lib/process_info.cc
@@ -10,7 +10,6 @@
 #include <stddef.h>
 
 #include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
 #include "base/process/process_info.h"
 #include "base/strings/string16.h"
 #include "base/win/scoped_handle.h"
diff --git a/rlz/win/lib/rlz_lib_win.cc b/rlz/win/lib/rlz_lib_win.cc
index bdf6f85e..ff36136 100644
--- a/rlz/win/lib/rlz_lib_win.cc
+++ b/rlz/win/lib/rlz_lib_win.cc
@@ -12,6 +12,8 @@
 #include <stddef.h>
 #include <winerror.h>
 
+#include <memory>
+
 #include "base/win/registry.h"
 #include "rlz/lib/assert.h"
 #include "rlz/lib/rlz_value_store.h"
@@ -24,7 +26,7 @@
 
 template<class T>
 class typed_buffer_ptr {
-  scoped_ptr<char[]> buffer_;
+  std::unique_ptr<char[]> buffer_;
 
  public:
   typed_buffer_ptr() {
diff --git a/styleguide/c++/c++11.html b/styleguide/c++/c++11.html
index 7c3a42c..09ddfe0c4 100644
--- a/styleguide/c++/c++11.html
+++ b/styleguide/c++/c++11.html
@@ -468,6 +468,16 @@
 </tr>
 
 <tr>
+<td>Tuples</td>
+<td><code>std::tuple</code></td>
+<td>A fixed-size ordered collection of values of mixed types</td>
+<td><a href="http://en.cppreference.com/w/cpp/utility/tuple">std::tuple</a></td>
+<td><a href="https://crbug.com/554987">Tracking bug</a> to plan moving from <code>base::Tuple</code> to <code>std::tuple</code>. See also <code>std::tie</code>.
+<code>base::Tuple</code> is now an alias for <code>std::tuple</code>. In class template specializations, use <code>std::tuple</code> instead of <code>base::Tuple</code> to work around a MSVS2013 internal compiler error (Error code: C1001).
+</td>
+</tr>
+
+<tr>
 <td>Unordered Associative Containers</td>
 <td><code>std::unordered_set</code>, <code>std::unordered_map</code>,
 <code>std::unordered_multiset</code>, and <code>std::unordered_multimap</code></td>
@@ -479,13 +489,11 @@
 </tr>
 
 <tr>
-<td>Tuples</td>
-<td><code>std::tuple</code></td>
-<td>A fixed-size ordered collection of values of mixed types</td>
-<td><a href="http://en.cppreference.com/w/cpp/utility/tuple">std::tuple</a></td>
-<td><a href="https://crbug.com/554987">Tracking bug</a> to plan moving from <code>base::Tuple</code> to <code>std::tuple</code>. See also <code>std::tie</code>.
-<code>base::Tuple</code> is now an alias for <code>std::tuple</code>. In class template specializations, use <code>std::tuple</code> instead of <code>base::Tuple</code> to work around a MSVS2013 internal compiler error (Error code: C1001).
-</td>
+<td>Unique Pointers</td>
+<td><code>std::unique_ptr&lt;<i>type</i>&gt;</code></td>
+<td>A smart pointer with sole ownership of the owned object.</td>
+<td><a href="http://en.cppreference.com/w/cpp/memory/unique_ptr">std::unique_ptr</a></td>
+<td>Google style guide: <a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Smart_Pointers">Ownership and Smart Pointers</a>. <a href="https://groups.google.com/a/chromium.org/d/msg/cxx/aT2wsBLKvzI/oZuZ718oAwAJ">Discussion thread</a>. Use in all newly written code. scoped_ptr is a <a href="https://groups.google.com/a/chromium.org/d/msg/chromium-dev/roY78iTblYc/bb8nYsxfCgAJ">typedef for std::unique_ptr</a> and is going away shortly.</td>
 </tr>
 
 </tbody>
@@ -1060,15 +1068,6 @@
 </tr>
 
 <tr>
-<td>Unique Pointers</td>
-<td><code>std::unique_ptr&lt;<i>type</i>&gt;</code></td>
-<td>Defines a pointer with clear and unambiguous ownership</td>
-<td>TODO: documentation link</td>
-<td><a href="https://google.github.io/styleguide/cppguide.html#Ownership_and_Smart_Pointers">
-Ownership and Smart Pointers</a></td>
-</tr>
-
-<tr>
 <td>Variadic Copy Macro</td>
 <td><code>va_copy(va_list <i>dest</i>, va_list <i>src</i>)</code></td>
 <td>Makes a copy of the variadic function arguments</td>
diff --git a/third_party/WebKit/public/platform/WebPrivatePtr.h b/third_party/WebKit/public/platform/WebPrivatePtr.h
index 047d32c..011991ed 100644
--- a/third_party/WebKit/public/platform/WebPrivatePtr.h
+++ b/third_party/WebKit/public/platform/WebPrivatePtr.h
@@ -175,7 +175,7 @@
 template<typename T, WebPrivatePtrDestruction crossThreadDestruction, WebPrivatePtrStrength strongOrWeak>
 class PtrStorageImpl<T, crossThreadDestruction, strongOrWeak, RefCountedGarbageCollectedLifetime> : public PtrStorageImpl<T, crossThreadDestruction, strongOrWeak, GarbageCollectedLifetime> {
 public:
-    void assign(const PassRefPtrWillBeRawPtr<T>& val) { PtrStorageImpl<T, crossThreadDestruction, strongOrWeak, GarbageCollectedLifetime>::assign(val.get()); }
+    void assign(const RawPtr<T>& val) { PtrStorageImpl<T, crossThreadDestruction, strongOrWeak, GarbageCollectedLifetime>::assign(val.get()); }
 
     void assign(const PtrStorageImpl& other) { PtrStorageImpl<T, crossThreadDestruction, strongOrWeak, GarbageCollectedLifetime>::assign(other.get()); }
 };
diff --git a/third_party/WebKit/public/web/WebDOMEvent.h b/third_party/WebKit/public/web/WebDOMEvent.h
index 0853b5d00..857229af 100644
--- a/third_party/WebKit/public/web/WebDOMEvent.h
+++ b/third_party/WebKit/public/web/WebDOMEvent.h
@@ -56,8 +56,8 @@
     bool isNull() const { return m_private.isNull(); }
 
 #if BLINK_IMPLEMENTATION
-    WebDOMEvent(const PassRefPtrWillBeRawPtr<Event>&);
-    operator PassRefPtrWillBeRawPtr<Event>() const;
+    WebDOMEvent(const RawPtr<Event>&);
+    operator RawPtr<Event>() const;
 #endif
 
     template<typename T> T to()
@@ -76,7 +76,7 @@
 
 protected:
 #if BLINK_IMPLEMENTATION
-    void assign(const PassRefPtrWillBeRawPtr<Event>&);
+    void assign(const RawPtr<Event>&);
 
     template<typename T> T* unwrap()
     {
diff --git a/third_party/WebKit/public/web/WebDOMMediaStreamTrack.h b/third_party/WebKit/public/web/WebDOMMediaStreamTrack.h
index 2ca2fc4..eb901d85 100644
--- a/third_party/WebKit/public/web/WebDOMMediaStreamTrack.h
+++ b/third_party/WebKit/public/web/WebDOMMediaStreamTrack.h
@@ -68,7 +68,7 @@
 
 private:
 #if BLINK_IMPLEMENTATION
-    WebDOMMediaStreamTrack(PassRefPtrWillBeRawPtr<MediaStreamTrack>);
+    WebDOMMediaStreamTrack(RawPtr<MediaStreamTrack>);
 #endif
 
     WebPrivatePtr<MediaStreamTrack> m_private;
diff --git a/third_party/WebKit/public/web/WebDOMMessageEvent.h b/third_party/WebKit/public/web/WebDOMMessageEvent.h
index 71d26c0..de81eea 100644
--- a/third_party/WebKit/public/web/WebDOMMessageEvent.h
+++ b/third_party/WebKit/public/web/WebDOMMessageEvent.h
@@ -58,7 +58,7 @@
     BLINK_EXPORT WebMessagePortChannelArray releaseChannels();
 
 #if BLINK_IMPLEMENTATION
-    explicit WebDOMMessageEvent(const PassRefPtrWillBeRawPtr<MessageEvent>& e) : WebDOMEvent(e) { }
+    explicit WebDOMMessageEvent(const RawPtr<MessageEvent>& e) : WebDOMEvent(e) { }
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebDocument.h b/third_party/WebKit/public/web/WebDocument.h
index 3db06b6a..87cbe7e4 100644
--- a/third_party/WebKit/public/web/WebDocument.h
+++ b/third_party/WebKit/public/web/WebDocument.h
@@ -142,9 +142,9 @@
     BLINK_EXPORT WebDistillabilityFeatures distillabilityFeatures();
 
 #if BLINK_IMPLEMENTATION
-    BLINK_EXPORT WebDocument(const PassRefPtrWillBeRawPtr<Document>&);
-    BLINK_EXPORT WebDocument& operator=(const PassRefPtrWillBeRawPtr<Document>&);
-    BLINK_EXPORT operator PassRefPtrWillBeRawPtr<Document>() const;
+    BLINK_EXPORT WebDocument(const RawPtr<Document>&);
+    BLINK_EXPORT WebDocument& operator=(const RawPtr<Document>&);
+    BLINK_EXPORT operator RawPtr<Document>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebElement.h b/third_party/WebKit/public/web/WebElement.h
index 06f1ed0..327e77fd 100644
--- a/third_party/WebKit/public/web/WebElement.h
+++ b/third_party/WebKit/public/web/WebElement.h
@@ -80,9 +80,9 @@
     BLINK_EXPORT WebImage imageContents();
 
 #if BLINK_IMPLEMENTATION
-    BLINK_EXPORT WebElement(const PassRefPtrWillBeRawPtr<Element>&);
-    BLINK_EXPORT WebElement& operator=(const PassRefPtrWillBeRawPtr<Element>&);
-    BLINK_EXPORT operator PassRefPtrWillBeRawPtr<Element>() const;
+    BLINK_EXPORT WebElement(const RawPtr<Element>&);
+    BLINK_EXPORT WebElement& operator=(const RawPtr<Element>&);
+    BLINK_EXPORT operator RawPtr<Element>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebElementCollection.h b/third_party/WebKit/public/web/WebElementCollection.h
index d6bbba4..0cdc7c39 100644
--- a/third_party/WebKit/public/web/WebElementCollection.h
+++ b/third_party/WebKit/public/web/WebElementCollection.h
@@ -68,8 +68,8 @@
     BLINK_EXPORT WebElement firstItem() const;
 
 #if BLINK_IMPLEMENTATION
-    WebElementCollection(const PassRefPtrWillBeRawPtr<HTMLCollection>&);
-    WebElementCollection& operator=(const PassRefPtrWillBeRawPtr<HTMLCollection>&);
+    WebElementCollection(const RawPtr<HTMLCollection>&);
+    WebElementCollection& operator=(const RawPtr<HTMLCollection>&);
 #endif
 
 private:
diff --git a/third_party/WebKit/public/web/WebFormControlElement.h b/third_party/WebKit/public/web/WebFormControlElement.h
index 759e308b..c4d4dd45 100644
--- a/third_party/WebKit/public/web/WebFormControlElement.h
+++ b/third_party/WebKit/public/web/WebFormControlElement.h
@@ -108,9 +108,9 @@
     BLINK_EXPORT WebFormElement form() const;
 
 #if BLINK_IMPLEMENTATION
-    WebFormControlElement(const PassRefPtrWillBeRawPtr<HTMLFormControlElement>&);
-    WebFormControlElement& operator=(const PassRefPtrWillBeRawPtr<HTMLFormControlElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLFormControlElement>() const;
+    WebFormControlElement(const RawPtr<HTMLFormControlElement>&);
+    WebFormControlElement& operator=(const RawPtr<HTMLFormControlElement>&);
+    operator RawPtr<HTMLFormControlElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebFormElement.h b/third_party/WebKit/public/web/WebFormElement.h
index 53308c7..92305c9 100644
--- a/third_party/WebKit/public/web/WebFormElement.h
+++ b/third_party/WebKit/public/web/WebFormElement.h
@@ -76,9 +76,9 @@
     BLINK_EXPORT void finishRequestAutocomplete(WebFormElement::AutocompleteResult);
 
 #if BLINK_IMPLEMENTATION
-    WebFormElement(const PassRefPtrWillBeRawPtr<HTMLFormElement>&);
-    WebFormElement& operator=(const PassRefPtrWillBeRawPtr<HTMLFormElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLFormElement>() const;
+    WebFormElement(const RawPtr<HTMLFormElement>&);
+    WebFormElement& operator=(const RawPtr<HTMLFormElement>&);
+    operator RawPtr<HTMLFormElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebHistoryItem.h b/third_party/WebKit/public/web/WebHistoryItem.h
index b02a1c19..e0725b2 100644
--- a/third_party/WebKit/public/web/WebHistoryItem.h
+++ b/third_party/WebKit/public/web/WebHistoryItem.h
@@ -117,9 +117,9 @@
     BLINK_EXPORT WebVector<WebString> getReferencedFilePaths() const;
 
 #if BLINK_IMPLEMENTATION
-    BLINK_EXPORT WebHistoryItem(const PassRefPtrWillBeRawPtr<HistoryItem>&);
-    BLINK_EXPORT WebHistoryItem& operator=(const PassRefPtrWillBeRawPtr<HistoryItem>&);
-    BLINK_EXPORT operator PassRefPtrWillBeRawPtr<HistoryItem>() const;
+    BLINK_EXPORT WebHistoryItem(const RawPtr<HistoryItem>&);
+    BLINK_EXPORT WebHistoryItem& operator=(const RawPtr<HistoryItem>&);
+    BLINK_EXPORT operator RawPtr<HistoryItem>() const;
 #endif
 
 private:
diff --git a/third_party/WebKit/public/web/WebInputElement.h b/third_party/WebKit/public/web/WebInputElement.h
index b5902514..eb42b835 100644
--- a/third_party/WebKit/public/web/WebInputElement.h
+++ b/third_party/WebKit/public/web/WebInputElement.h
@@ -88,9 +88,9 @@
     BLINK_EXPORT void setShouldRevealPassword(bool value);
 
 #if BLINK_IMPLEMENTATION
-    WebInputElement(const PassRefPtrWillBeRawPtr<HTMLInputElement>&);
-    WebInputElement& operator=(const PassRefPtrWillBeRawPtr<HTMLInputElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLInputElement>() const;
+    WebInputElement(const RawPtr<HTMLInputElement>&);
+    WebInputElement& operator=(const RawPtr<HTMLInputElement>&);
+    operator RawPtr<HTMLInputElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebLabelElement.h b/third_party/WebKit/public/web/WebLabelElement.h
index 05e428d..d4f5540 100644
--- a/third_party/WebKit/public/web/WebLabelElement.h
+++ b/third_party/WebKit/public/web/WebLabelElement.h
@@ -58,9 +58,9 @@
     BLINK_EXPORT WebElement correspondingControl();
 
 #if BLINK_IMPLEMENTATION
-    WebLabelElement(const PassRefPtrWillBeRawPtr<HTMLLabelElement>&);
-    WebLabelElement& operator=(const PassRefPtrWillBeRawPtr<HTMLLabelElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLLabelElement>() const;
+    WebLabelElement(const RawPtr<HTMLLabelElement>&);
+    WebLabelElement& operator=(const RawPtr<HTMLLabelElement>&);
+    operator RawPtr<HTMLLabelElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebMetaElement.h b/third_party/WebKit/public/web/WebMetaElement.h
index 827c3f6..6c8c3c6 100644
--- a/third_party/WebKit/public/web/WebMetaElement.h
+++ b/third_party/WebKit/public/web/WebMetaElement.h
@@ -26,9 +26,9 @@
     BLINK_EXPORT WebString computeEncoding() const;
 
 #if BLINK_IMPLEMENTATION
-    WebMetaElement(const PassRefPtrWillBeRawPtr<HTMLMetaElement>&);
-    WebMetaElement& operator=(const PassRefPtrWillBeRawPtr<HTMLMetaElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLMetaElement>() const;
+    WebMetaElement(const RawPtr<HTMLMetaElement>&);
+    WebMetaElement& operator=(const RawPtr<HTMLMetaElement>&);
+    operator RawPtr<HTMLMetaElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebNode.h b/third_party/WebKit/public/web/WebNode.h
index bf78102b..084eaca 100644
--- a/third_party/WebKit/public/web/WebNode.h
+++ b/third_party/WebKit/public/web/WebNode.h
@@ -115,9 +115,9 @@
     template<typename T> const T toConst() const;
 
 #if BLINK_IMPLEMENTATION
-    BLINK_EXPORT WebNode(const PassRefPtrWillBeRawPtr<Node>&);
-    BLINK_EXPORT WebNode& operator=(const PassRefPtrWillBeRawPtr<Node>&);
-    BLINK_EXPORT operator PassRefPtrWillBeRawPtr<Node>() const;
+    BLINK_EXPORT WebNode(const RawPtr<Node>&);
+    BLINK_EXPORT WebNode& operator=(const RawPtr<Node>&);
+    BLINK_EXPORT operator RawPtr<Node>() const;
 
     template<typename T> T* unwrap()
     {
diff --git a/third_party/WebKit/public/web/WebOptionElement.h b/third_party/WebKit/public/web/WebOptionElement.h
index 01c00e6..951c76a 100644
--- a/third_party/WebKit/public/web/WebOptionElement.h
+++ b/third_party/WebKit/public/web/WebOptionElement.h
@@ -55,9 +55,9 @@
     BLINK_EXPORT WebString label() const;
 
 #if BLINK_IMPLEMENTATION
-    WebOptionElement(const PassRefPtrWillBeRawPtr<HTMLOptionElement>&);
-    WebOptionElement& operator=(const PassRefPtrWillBeRawPtr<HTMLOptionElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLOptionElement>() const;
+    WebOptionElement(const RawPtr<HTMLOptionElement>&);
+    WebOptionElement& operator=(const RawPtr<HTMLOptionElement>&);
+    operator RawPtr<HTMLOptionElement>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebPerformance.h b/third_party/WebKit/public/web/WebPerformance.h
index a5b83b8..d32daaa 100644
--- a/third_party/WebKit/public/web/WebPerformance.h
+++ b/third_party/WebKit/public/web/WebPerformance.h
@@ -95,8 +95,8 @@
     BLINK_EXPORT double parseBlockedOnScriptLoadDuration() const;
 
 #if BLINK_IMPLEMENTATION
-    WebPerformance(const PassRefPtrWillBeRawPtr<Performance>&);
-    WebPerformance& operator=(const PassRefPtrWillBeRawPtr<Performance>&);
+    WebPerformance(const RawPtr<Performance>&);
+    WebPerformance& operator=(const RawPtr<Performance>&);
 #endif
 
 private:
diff --git a/third_party/WebKit/public/web/WebPluginDocument.h b/third_party/WebKit/public/web/WebPluginDocument.h
index 4468351..47c0e49 100644
--- a/third_party/WebKit/public/web/WebPluginDocument.h
+++ b/third_party/WebKit/public/web/WebPluginDocument.h
@@ -54,9 +54,9 @@
     BLINK_EXPORT WebPlugin* plugin();
 
 #if BLINK_IMPLEMENTATION
-    WebPluginDocument(const PassRefPtrWillBeRawPtr<PluginDocument>&);
-    WebPluginDocument& operator=(const PassRefPtrWillBeRawPtr<PluginDocument>&);
-    operator PassRefPtrWillBeRawPtr<PluginDocument>() const;
+    WebPluginDocument(const RawPtr<PluginDocument>&);
+    WebPluginDocument& operator=(const RawPtr<PluginDocument>&);
+    operator RawPtr<PluginDocument>() const;
 #endif
 };
 
diff --git a/third_party/WebKit/public/web/WebRange.h b/third_party/WebKit/public/web/WebRange.h
index 4d2a884..f040d660 100644
--- a/third_party/WebKit/public/web/WebRange.h
+++ b/third_party/WebKit/public/web/WebRange.h
@@ -66,8 +66,8 @@
     BLINK_EXPORT static WebRange fromDocumentRange(WebLocalFrame*, int start, int length);
 
 #if BLINK_IMPLEMENTATION
-    WebRange(const PassRefPtrWillBeRawPtr<Range>&);
-    operator PassRefPtrWillBeRawPtr<Range>() const;
+    WebRange(const RawPtr<Range>&);
+    operator RawPtr<Range>() const;
 #endif
 
 private:
diff --git a/third_party/WebKit/public/web/WebSelectElement.h b/third_party/WebKit/public/web/WebSelectElement.h
index 5afd57d..3ae911cf 100644
--- a/third_party/WebKit/public/web/WebSelectElement.h
+++ b/third_party/WebKit/public/web/WebSelectElement.h
@@ -55,9 +55,9 @@
     BLINK_EXPORT WebVector<WebElement> listItems() const;
 
 #if BLINK_IMPLEMENTATION
-    WebSelectElement(const PassRefPtrWillBeRawPtr<HTMLSelectElement>&);
-    WebSelectElement& operator=(const PassRefPtrWillBeRawPtr<HTMLSelectElement>&);
-    operator PassRefPtrWillBeRawPtr<HTMLSelectElement>() const;
+    WebSelectElement(const RawPtr<HTMLSelectElement>&);
+    WebSelectElement& operator=(const RawPtr<HTMLSelectElement>&);
+    operator RawPtr<HTMLSelectElement>() const;
 #endif
 };
 
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_mac.cc b/third_party/crashpad/crashpad/client/crashpad_client_mac.cc
index 97f5504..87b01b8 100644
--- a/third_party/crashpad/crashpad/client/crashpad_client_mac.cc
+++ b/third_party/crashpad/crashpad/client/crashpad_client_mac.cc
@@ -25,6 +25,7 @@
 
 #include "base/logging.h"
 #include "base/mac/mach_logging.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/posix/eintr_wrapper.h"
 #include "base/strings/stringprintf.h"
 #include "util/mac/mac_util.h"
diff --git a/ui/gfx/screen_mac.mm b/ui/gfx/screen_mac.mm
index 40077d11..26e0278 100644
--- a/ui/gfx/screen_mac.mm
+++ b/ui/gfx/screen_mac.mm
@@ -13,6 +13,7 @@
 #include "base/logging.h"
 #include "base/mac/sdk_forward_declarations.h"
 #include "base/macros.h"
+#include "base/memory/scoped_ptr.h"
 #include "base/timer/timer.h"
 #include "ui/gfx/display.h"
 #include "ui/gfx/display_change_notifier.h"