Convert Pass()→std::move() in //chrome/browser/extensions

☃

BUG=557422
[email protected]
[email protected]

Review URL: https://codereview.chromium.org/1549233002

Cr-Commit-Position: refs/heads/master@{#366911}
diff --git a/chrome/browser/extensions/activity_log/activity_actions.cc b/chrome/browser/extensions/activity_log/activity_actions.cc
index 85cad83..999861f 100644
--- a/chrome/browser/extensions/activity_log/activity_actions.cc
+++ b/chrome/browser/extensions/activity_log/activity_actions.cc
@@ -240,7 +240,7 @@
     result->other.reset(other_field.release());
   }
 
-  return result.Pass();
+  return result;
 }
 
 std::string Action::PrintForDebug() const {
diff --git a/chrome/browser/extensions/activity_log/activity_log.cc b/chrome/browser/extensions/activity_log/activity_log.cc
index 3fe65ea..0f9d04a 100644
--- a/chrome/browser/extensions/activity_log/activity_log.cc
+++ b/chrome/browser/extensions/activity_log/activity_log.cc
@@ -5,8 +5,8 @@
 #include "chrome/browser/extensions/activity_log/activity_log.h"
 
 #include <stddef.h>
-
 #include <set>
+#include <utility>
 #include <vector>
 
 #include "base/command_line.h"
@@ -586,7 +586,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_EVENT,
                                             event_name);
-  action->set_args(event_args.Pass());
+  action->set_args(std::move(event_args));
   LogAction(action);
 }
 
@@ -598,7 +598,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_CALL,
                                             api_name);
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
   LogAction(action);
 }
 
diff --git a/chrome/browser/extensions/activity_log/counting_policy.cc b/chrome/browser/extensions/activity_log/counting_policy.cc
index dbe432a..92e31eb 100644
--- a/chrome/browser/extensions/activity_log/counting_policy.cc
+++ b/chrome/browser/extensions/activity_log/counting_policy.cc
@@ -435,7 +435,7 @@
 
   sql::Connection* db = GetDatabaseConnection();
   if (!db)
-    return actions.Pass();
+    return actions;
 
   // Build up the query based on which parameters were specified.
   std::string where_str = "";
@@ -523,7 +523,7 @@
     actions->push_back(action);
   }
 
-  return actions.Pass();
+  return actions;
 }
 
 void CountingPolicy::DoRemoveActions(const std::vector<int64_t>& action_ids) {
diff --git a/chrome/browser/extensions/activity_log/counting_policy_unittest.cc b/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
index 69da18e..3d61743 100644
--- a/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
+++ b/chrome/browser/extensions/activity_log/counting_policy_unittest.cc
@@ -2,8 +2,11 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/activity_log/counting_policy.h"
+
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/cancelable_callback.h"
 #include "base/command_line.h"
@@ -19,7 +22,6 @@
 #include "base/thread_task_runner_handle.h"
 #include "build/build_config.h"
 #include "chrome/browser/extensions/activity_log/activity_log.h"
-#include "chrome/browser/extensions/activity_log/counting_policy.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/test_extension_system.h"
 #include "chrome/common/chrome_constants.h"
@@ -151,7 +153,7 @@
       const base::Callback<void(scoped_ptr<Action::ActionVector>)>& checker,
       const base::Closure& done,
       scoped_ptr<Action::ActionVector> results) {
-    checker.Run(results.Pass());
+    checker.Run(std::move(results));
     done.Run();
   }
 
@@ -549,7 +551,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_CALL,
                                             "tabs.testMethod");
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
   policy->ProcessAction(action);
   policy->Close();
 }
@@ -573,7 +575,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_CALL,
                                             "extension.connect");
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
 
   policy->ProcessAction(action);
   CheckReadData(policy,
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
index 2154a27..d63f08b 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy.cc
@@ -135,7 +135,7 @@
 
   sql::Connection* db = GetDatabaseConnection();
   if (!db) {
-    return actions.Pass();
+    return actions;
   }
 
   // Build up the query based on which parameters were specified.
@@ -220,7 +220,7 @@
     actions->push_back(action);
   }
 
-  return actions.Pass();
+  return actions;
 }
 
 void FullStreamUIPolicy::DoRemoveActions(
diff --git a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
index 123eaea..ead69e8 100644
--- a/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
+++ b/chrome/browser/extensions/activity_log/fullstream_ui_policy_unittest.cc
@@ -2,7 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/activity_log/fullstream_ui_policy.h"
+
 #include <stdint.h>
+#include <utility>
 
 #include "base/cancelable_callback.h"
 #include "base/command_line.h"
@@ -17,7 +20,6 @@
 #include "base/thread_task_runner_handle.h"
 #include "build/build_config.h"
 #include "chrome/browser/extensions/activity_log/activity_log.h"
-#include "chrome/browser/extensions/activity_log/fullstream_ui_policy.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/test_extension_system.h"
 #include "chrome/common/chrome_constants.h"
@@ -117,7 +119,7 @@
       const base::Callback<void(scoped_ptr<Action::ActionVector>)>& checker,
       const base::Closure& done,
       scoped_ptr<Action::ActionVector> results) {
-    checker.Run(results.Pass());
+    checker.Run(std::move(results));
     done.Run();
   }
 
@@ -466,7 +468,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_CALL,
                                             "tabs.testMethod");
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
   policy->ProcessAction(action);
   policy->Close();
 }
@@ -626,7 +628,7 @@
                                             base::Time::Now(),
                                             Action::ACTION_API_CALL,
                                             "extension.connect");
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
 
   policy->ProcessAction(action);
   CheckReadData(policy,
diff --git a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.cc b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.cc
index fcbe071b..3715a5c 100644
--- a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.cc
+++ b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/prefs/pref_service.h"
@@ -92,9 +93,9 @@
   value->Append(activity_arg->ToValue().release());
   scoped_ptr<Event> event(new Event(
       events::ACTIVITY_LOG_PRIVATE_ON_EXTENSION_ACTIVITY,
-      activity_log_private::OnExtensionActivity::kEventName, value.Pass()));
+      activity_log_private::OnExtensionActivity::kEventName, std::move(value)));
   event->restrict_to_browser_context = browser_context_;
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
 }
 
 bool ActivityLogPrivateGetExtensionActivitiesFunction::RunAsync() {
diff --git a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc
index dfdf3cb..4417aa8 100644
--- a/chrome/browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc
+++ b/chrome/browser/extensions/api/activity_log_private/activity_log_private_api_unittest.cc
@@ -2,12 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
+
 #include <string>
+#include <utility>
 
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/extensions/activity_log/activity_action_constants.h"
-#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace {
@@ -32,7 +34,7 @@
                                           base::Time::Now(),
                                           Action::ACTION_API_CALL,
                                           kApiCall));
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
   scoped_ptr<ExtensionActivity> result = action->ConvertToExtensionActivity();
   ASSERT_EQ(api::activity_log_private::EXTENSION_ACTIVITY_TYPE_API_CALL,
             result->activity_type);
@@ -51,7 +53,7 @@
                                Action::ACTION_DOM_ACCESS,
                                kApiCall,
                                12345));
-  action->set_args(args.Pass());
+  action->set_args(std::move(args));
   action->set_page_url(GURL("http://www.google.com"));
   action->set_page_title("Title");
   action->mutable_other()->SetInteger(activity_log_constants::kActionDomVerb,
@@ -64,7 +66,7 @@
   ASSERT_EQ("Title", *(result->page_title.get()));
   ASSERT_EQ(kApiCall, *(result->api_call.get()));
   ASSERT_EQ(kArgs, *(result->args.get()));
-  scoped_ptr<ExtensionActivity::Other> other(result->other.Pass());
+  scoped_ptr<ExtensionActivity::Other> other(std::move(result->other));
   ASSERT_EQ(api::activity_log_private::EXTENSION_ACTIVITY_DOM_VERB_INSERTED,
             other->dom_verb);
   ASSERT_TRUE(other->prerender.get());
diff --git a/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc b/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
index a1947c2d..6527ac5 100644
--- a/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
+++ b/chrome/browser/extensions/api/activity_log_private/activity_log_private_apitest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <string>
+#include <utility>
 
 #include "build/build_config.h"
 #include "chrome/browser/extensions/activity_log/activity_log.h"
@@ -44,7 +45,7 @@
     response->set_code(net::HTTP_OK);
     response->set_content("<html><head><title>ActivityLogTest</title>"
                           "</head><body>Hello World</body></html>");
-    return response.Pass();
+    return std::move(response);
   }
 
  private:
diff --git a/chrome/browser/extensions/api/audio_modem/audio_modem_api.cc b/chrome/browser/extensions/api/audio_modem/audio_modem_api.cc
index 99242ef5..947e323 100644
--- a/chrome/browser/extensions/api/audio_modem/audio_modem_api.cc
+++ b/chrome/browser/extensions/api/audio_modem/audio_modem_api.cc
@@ -2,10 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include <stdint.h>
+#include "chrome/browser/extensions/api/audio_modem/audio_modem_api.h"
 
+#include <stdint.h>
 #include <map>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/base64.h"
@@ -17,7 +19,6 @@
 #include "base/strings/string_util.h"
 #include "base/timer/timer.h"
 #include "chrome/browser/copresence/chrome_whispernet_client.h"
-#include "chrome/browser/extensions/api/audio_modem/audio_modem_api.h"
 #include "chrome/common/extensions/api/audio_modem.h"
 #include "extensions/browser/event_router.h"
 
@@ -111,8 +112,8 @@
     scoped_ptr<audio_modem::WhispernetClient> whispernet_client,
     scoped_ptr<audio_modem::Modem> modem)
     : browser_context_(context),
-      whispernet_client_(whispernet_client.Pass()),
-      modem_(modem.Pass()),
+      whispernet_client_(std::move(whispernet_client)),
+      modem_(std::move(modem)),
       init_failed_(false) {
   // We own these objects, so these callbacks will not outlive us.
   whispernet_client_->Initialize(
diff --git a/chrome/browser/extensions/api/audio_modem/audio_modem_api_unittest.cc b/chrome/browser/extensions/api/audio_modem/audio_modem_api_unittest.cc
index d1d0c5e..b180ca7 100644
--- a/chrome/browser/extensions/api/audio_modem/audio_modem_api_unittest.cc
+++ b/chrome/browser/extensions/api/audio_modem/audio_modem_api_unittest.cc
@@ -72,14 +72,14 @@
 scoped_ptr<ListValue> CreateList(Value* single_elt) {
   scoped_ptr<ListValue> list(new ListValue);
   list->Append(single_elt);
-  return list.Pass();
+  return list;
 }
 
 scoped_ptr<ListValue> CreateList(Value* elt1, Value* elt2) {
   scoped_ptr<ListValue> list(new ListValue);
   list->Append(elt1);
   list->Append(elt2);
-  return list.Pass();
+  return list;
 }
 
 DictionaryValue* CreateReceivedToken(const std::string& token,
@@ -116,7 +116,7 @@
 
   void DispatchEventToExtension(const std::string& extension_id,
                                 scoped_ptr<Event> event) override {
-    event_callback_.Run(extension_id, event.Pass());
+    event_callback_.Run(extension_id, std::move(event));
   }
 
   void SetEventCallBack(EventCallback event_callback) {
@@ -152,8 +152,8 @@
     function->set_extension(extension);
     function->set_browser_context(profile());
     function->set_has_callback(true);
-    ext_test_utils::RunFunction(
-        function.get(), args.Pass(), browser(), ext_test_utils::NONE);
+    ext_test_utils::RunFunction(function.get(), std::move(args), browser(),
+                                ext_test_utils::NONE);
 
     std::string result_status;
     CHECK(function->GetResultList()->GetString(0, &result_status));
@@ -162,7 +162,7 @@
 
   template<typename Function>
   const std::string RunFunction(scoped_ptr<ListValue> args) {
-    return RunFunction<Function>(args.Pass(), GetExtension(std::string()));
+    return RunFunction<Function>(std::move(args), GetExtension(std::string()));
   }
 
   StubModem* GetModem() const {
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_private_api.cc b/chrome/browser/extensions/api/autofill_private/autofill_private_api.cc
index e1032741..3bb54eb 100644
--- a/chrome/browser/extensions/api/autofill_private/autofill_private_api.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/autofill_private/autofill_private_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/guid.h"
 #include "base/strings/utf_string_conversions.h"
@@ -405,7 +406,7 @@
   RemoveDuplicatePhoneNumberAtIndex(
       params->index_of_new_number, params->country_code, phoneNumbers.get());
 
-  return RespondNow(OneArgument(phoneNumbers.Pass()));
+  return RespondNow(OneArgument(std::move(phoneNumbers)));
 }
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_private_event_router.cc b/chrome/browser/extensions/api/autofill_private/autofill_private_event_router.cc
index 6765eae..e92504c9 100644
--- a/chrome/browser/extensions/api/autofill_private/autofill_private_event_router.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_private_event_router.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/autofill_private/autofill_private_event_router.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -83,20 +84,22 @@
   scoped_ptr<base::ListValue> args(
       api::autofill_private::OnAddressListChanged::Create(*addressList)
       .release());
-  scoped_ptr<Event> extension_event(new Event(
-      events::AUTOFILL_PRIVATE_ON_ADDRESS_LIST_CHANGED,
-      api::autofill_private::OnAddressListChanged::kEventName, args.Pass()));
-  event_router_->BroadcastEvent(extension_event.Pass());
+  scoped_ptr<Event> extension_event(
+      new Event(events::AUTOFILL_PRIVATE_ON_ADDRESS_LIST_CHANGED,
+                api::autofill_private::OnAddressListChanged::kEventName,
+                std::move(args)));
+  event_router_->BroadcastEvent(std::move(extension_event));
 
   scoped_ptr<CreditCardEntryList> creditCardList =
       extensions::autofill_util::GenerateCreditCardList(*personal_data_);
   args.reset(
       api::autofill_private::OnCreditCardListChanged::Create(*creditCardList)
       .release());
-  extension_event.reset(new Event(
-      events::AUTOFILL_PRIVATE_ON_CREDIT_CARD_LIST_CHANGED,
-      api::autofill_private::OnCreditCardListChanged::kEventName, args.Pass()));
-  event_router_->BroadcastEvent(extension_event.Pass());
+  extension_event.reset(
+      new Event(events::AUTOFILL_PRIVATE_ON_CREDIT_CARD_LIST_CHANGED,
+                api::autofill_private::OnCreditCardListChanged::kEventName,
+                std::move(args)));
+  event_router_->BroadcastEvent(std::move(extension_event));
 }
 
 void AutofillPrivateEventRouter::StartOrStopListeningForChanges() {
diff --git a/chrome/browser/extensions/api/autofill_private/autofill_util.cc b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
index fcb30e0..95fdcbc 100644
--- a/chrome/browser/extensions/api/autofill_private/autofill_util.cc
+++ b/chrome/browser/extensions/api/autofill_private/autofill_util.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/autofill_private/autofill_util.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/prefs/pref_service.h"
 #include "base/strings/string_split.h"
@@ -44,12 +45,12 @@
   // |Get[Raw]MultiInfo()| always returns at least one, potentially empty, item.
   // If this is the case, there is no info to return, so return an empty vector.
   if (values.size() == 1 && values.front().empty())
-    return list.Pass();
+    return list;
 
   for (const base::string16& value16 : values)
     list->push_back(base::UTF16ToUTF8(value16));
 
-  return list.Pass();
+  return list;
 }
 
 // Gets the string corresponding to |type| from |profile|.
@@ -105,9 +106,9 @@
       label.substr(label_pieces[0].size()))));
   metadata->is_local.reset(new bool(
       profile.record_type() == autofill::AutofillProfile::LOCAL_PROFILE));
-  address->metadata = metadata.Pass();
+  address->metadata = std::move(metadata);
 
-  return address.Pass();
+  return address;
 }
 
 scoped_ptr<autofill_private::CreditCardEntry> CreditCardToCreditCardEntry(
@@ -138,9 +139,9 @@
       credit_card.record_type() == autofill::CreditCard::LOCAL_CARD));
   metadata->is_cached.reset(new bool(
       credit_card.record_type() == autofill::CreditCard::FULL_SERVER_CARD));
-  card->metadata = metadata.Pass();
+  card->metadata = std::move(metadata);
 
-  return card.Pass();
+  return card;
 }
 
 }  // namespace
@@ -167,7 +168,7 @@
     list->push_back(linked_ptr<autofill_private::AddressEntry>(entry));
   }
 
-  return list.Pass();
+  return list;
 }
 
 scoped_ptr<CreditCardEntryList> GenerateCreditCardList(
@@ -182,7 +183,7 @@
     list->push_back(linked_ptr<autofill_private::CreditCardEntry>(entry));
   }
 
-  return list.Pass();
+  return list;
 }
 
 }  // namespace autofill_util
diff --git a/chrome/browser/extensions/api/automation_internal/automation_event_router.cc b/chrome/browser/extensions/api/automation_internal/automation_event_router.cc
index b7d3285..4c58c72 100644
--- a/chrome/browser/extensions/api/automation_internal/automation_event_router.cc
+++ b/chrome/browser/extensions/api/automation_internal/automation_event_router.cc
@@ -95,9 +95,9 @@
   scoped_ptr<Event> event(new Event(
       events::AUTOMATION_INTERNAL_ON_ACCESSIBILITY_TREE_DESTROYED,
       api::automation_internal::OnAccessibilityTreeDestroyed::kEventName,
-      args.Pass()));
+      std::move(args)));
   event->restrict_to_browser_context = browser_context;
-  EventRouter::Get(browser_context)->BroadcastEvent(event.Pass());
+  EventRouter::Get(browser_context)->BroadcastEvent(std::move(event));
 }
 
 AutomationEventRouter::AutomationListener::AutomationListener() {
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc
index 0e00931..20d3bff 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.cc
@@ -5,8 +5,8 @@
 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h"
 
 #include <stdint.h>
-
 #include <algorithm>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/command_line.h"
@@ -935,21 +935,20 @@
                     ADVERTISEMENT_TYPE_PERIPHERAL));
 
   advertisement_data->set_service_uuids(
-      params->advertisement.service_uuids.Pass());
+      std::move(params->advertisement.service_uuids));
   advertisement_data->set_solicit_uuids(
-      params->advertisement.solicit_uuids.Pass());
+      std::move(params->advertisement.solicit_uuids));
   if (params->advertisement.manufacturer_data) {
     advertisement_data->set_manufacturer_data(
-        CreateManufacturerData(params->advertisement.manufacturer_data.get())
-            .Pass());
+        CreateManufacturerData(params->advertisement.manufacturer_data.get()));
   }
   if (params->advertisement.service_data) {
     advertisement_data->set_service_data(
-        CreateServiceData(params->advertisement.service_data.get()).Pass());
+        CreateServiceData(params->advertisement.service_data.get()));
   }
 
   event_router->adapter()->RegisterAdvertisement(
-      advertisement_data.Pass(),
+      std::move(advertisement_data),
       base::Bind(
           &BluetoothLowEnergyRegisterAdvertisementFunction::SuccessCallback,
           this),
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
index 228155f2..f8d4d8c 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_apitest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <stdint.h>
+#include <utility>
 
 #include "base/memory/scoped_ptr.h"
 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_api.h"
@@ -1230,7 +1231,7 @@
       << listener.message();
   listener.Reset();
 
-  connect_callback.Run(conn_ptr.Pass());
+  connect_callback.Run(std::move(conn_ptr));
   EXPECT_TRUE(listener.WaitUntilSatisfied());
   ASSERT_EQ("After 2nd call to disconnect.", listener.message())
       << listener.message();
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc
index 6050e698..81a3c70 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_event_router.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/logging.h"
 #include "base/values.h"
@@ -864,8 +866,8 @@
       apibtle::OnServiceRemoved::Create(api_service);
   scoped_ptr<Event> event(
       new Event(events::BLUETOOTH_LOW_ENERGY_ON_SERVICE_REMOVED,
-                apibtle::OnServiceRemoved::kEventName, args.Pass()));
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+                apibtle::OnServiceRemoved::kEventName, std::move(args)));
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
 }
 
 void BluetoothLowEnergyEventRouter::GattDiscoveryCompleteForService(
@@ -886,8 +888,8 @@
       apibtle::OnServiceAdded::Create(api_service);
   scoped_ptr<Event> event(
       new Event(events::BLUETOOTH_LOW_ENERGY_ON_SERVICE_ADDED,
-                apibtle::OnServiceAdded::kEventName, args.Pass()));
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+                apibtle::OnServiceAdded::kEventName, std::move(args)));
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
 }
 
 void BluetoothLowEnergyEventRouter::DeviceAddressChanged(
@@ -1024,7 +1026,7 @@
   DispatchEventToExtensionsWithPermission(
       events::BLUETOOTH_LOW_ENERGY_ON_CHARACTERISTIC_VALUE_CHANGED,
       apibtle::OnCharacteristicValueChanged::kEventName, service->GetUUID(),
-      characteristic->GetIdentifier(), args.Pass());
+      characteristic->GetIdentifier(), std::move(args));
 }
 
 void BluetoothLowEnergyEventRouter::GattDescriptorValueChanged(
@@ -1055,7 +1057,7 @@
       events::BLUETOOTH_LOW_ENERGY_ON_DESCRIPTOR_VALUE_CHANGED,
       apibtle::OnDescriptorValueChanged::kEventName,
       characteristic->GetService()->GetUUID(), "" /* characteristic_id */,
-      args.Pass());
+      std::move(args));
 }
 
 void BluetoothLowEnergyEventRouter::OnGetAdapter(
@@ -1169,9 +1171,9 @@
     // Send the event.
     scoped_ptr<base::ListValue> args_copy(args->DeepCopy());
     scoped_ptr<Event> event(
-        new Event(histogram_value, event_name, args_copy.Pass()));
-    EventRouter::Get(browser_context_)->DispatchEventToExtension(
-        extension_id, event.Pass());
+        new Event(histogram_value, event_name, std::move(args_copy)));
+    EventRouter::Get(browser_context_)
+        ->DispatchEventToExtension(extension_id, std::move(event));
   }
 }
 
@@ -1278,7 +1280,7 @@
   DCHECK_NE(0U, connecting_devices_.count(connect_id));
 
   BluetoothLowEnergyConnection* conn = new BluetoothLowEnergyConnection(
-      persistent, extension_id, connection.Pass());
+      persistent, extension_id, std::move(connection));
   ConnectionResourceManager* manager =
       GetConnectionResourceManager(browser_context_);
   manager->Add(conn);
@@ -1340,8 +1342,8 @@
   DCHECK_NE(0U, pending_session_calls_.count(session_id));
 
   BluetoothLowEnergyNotifySession* resource =
-      new BluetoothLowEnergyNotifySession(
-          persistent, extension_id, session.Pass());
+      new BluetoothLowEnergyNotifySession(persistent, extension_id,
+                                          std::move(session));
 
   NotifySessionResourceManager* manager =
       GetNotifySessionResourceManager(browser_context_);
diff --git a/chrome/browser/extensions/api/bluetooth_low_energy/utils.cc b/chrome/browser/extensions/api/bluetooth_low_energy/utils.cc
index c9f4b78..69cda09 100644
--- a/chrome/browser/extensions/api/bluetooth_low_energy/utils.cc
+++ b/chrome/browser/extensions/api/bluetooth_low_energy/utils.cc
@@ -19,7 +19,7 @@
        iter != properties.end();
        ++iter)
     property_list->Append(new base::StringValue(ToString(*iter)));
-  return property_list.Pass();
+  return property_list;
 }
 
 }  // namespace
@@ -33,7 +33,7 @@
   scoped_ptr<base::DictionaryValue> to = from->ToValue();
   to->SetWithoutPathExpansion(
       "properties", CharacteristicPropertiesToValue(properties).release());
-  return to.Pass();
+  return to;
 }
 
 scoped_ptr<base::DictionaryValue> DescriptorToValue(Descriptor* from) {
@@ -48,7 +48,7 @@
   DCHECK(chrc_value);
   chrc_value->SetWithoutPathExpansion(
       "properties", CharacteristicPropertiesToValue(properties).release());
-  return to.Pass();
+  return to;
 }
 
 }  // namespace bluetooth_low_energy
diff --git a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
index 06ef3db2..470d5a6 100644
--- a/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
+++ b/chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc
@@ -6,7 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
-
+#include <utility>
 #include <vector>
 
 #include "base/lazy_instance.h"
@@ -169,7 +169,7 @@
     for (size_t i = 0; i < data.size(); ++i)
       node_data->elements.push_back(CreateApiNodeDataElement(data.elements[i]));
   }
-  return node_data.Pass();
+  return node_data;
 }
 
 }  // namespace
@@ -192,7 +192,7 @@
     scoped_ptr<base::ListValue> event_args) {
   EventRouter::Get(browser_context_)
       ->BroadcastEvent(make_scoped_ptr(
-          new Event(histogram_value, event_name, event_args.Pass())));
+          new Event(histogram_value, event_name, std::move(event_args))));
 }
 
 void BookmarkManagerPrivateEventRouter::BookmarkModelChanged() {}
@@ -310,8 +310,9 @@
   if (!event_router)
     return;
 
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
-  event_router->BroadcastEvent(event.Pass());
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
+  event_router->BroadcastEvent(std::move(event));
 }
 
 void BookmarkManagerPrivateDragEventRouter::OnDragEnter(
diff --git a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
index d03137c..4c4112d 100644
--- a/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
+++ b/chrome/browser/extensions/api/bookmarks/bookmarks_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/bookmarks/bookmarks_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file_path.h"
@@ -264,8 +265,8 @@
     scoped_ptr<base::ListValue> event_args) {
   EventRouter* event_router = EventRouter::Get(browser_context_);
   if (event_router) {
-    event_router->BroadcastEvent(make_scoped_ptr(
-        new extensions::Event(histogram_value, event_name, event_args.Pass())));
+    event_router->BroadcastEvent(make_scoped_ptr(new extensions::Event(
+        histogram_value, event_name, std::move(event_args))));
   }
 }
 
diff --git a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
index 69451e2..74a0164 100644
--- a/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
+++ b/chrome/browser/extensions/api/braille_display_private/braille_display_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/braille_display_private/braille_display_private_api.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "build/build_config.h"
 #include "chrome/browser/extensions/api/braille_display_private/braille_controller.h"
@@ -67,7 +69,7 @@
       new Event(events::BRAILLE_DISPLAY_PRIVATE_ON_DISPLAY_STATE_CHANGED,
                 OnDisplayStateChanged::kEventName,
                 OnDisplayStateChanged::Create(display_state)));
-  event_delegate_->BroadcastEvent(event.Pass());
+  event_delegate_->BroadcastEvent(std::move(event));
 }
 
 void BrailleDisplayPrivateAPI::OnBrailleKeyEvent(const KeyEvent& key_event) {
@@ -77,7 +79,7 @@
   scoped_ptr<Event> event(
       new Event(events::BRAILLE_DISPLAY_PRIVATE_ON_KEY_EVENT,
                 OnKeyEvent::kEventName, OnKeyEvent::Create(key_event)));
-  event_delegate_->BroadcastEvent(event.Pass());
+  event_delegate_->BroadcastEvent(std::move(event));
 }
 
 bool BrailleDisplayPrivateAPI::IsProfileActive() {
@@ -101,7 +103,7 @@
 
 void BrailleDisplayPrivateAPI::SetEventDelegateForTest(
     scoped_ptr<EventDelegate> delegate) {
-  event_delegate_ = delegate.Pass();
+  event_delegate_ = std::move(delegate);
 }
 
 void BrailleDisplayPrivateAPI::OnListenerAdded(
@@ -134,7 +136,7 @@
 
 void BrailleDisplayPrivateAPI::DefaultEventDelegate::BroadcastEvent(
     scoped_ptr<Event> event) {
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
 }
 
 bool BrailleDisplayPrivateAPI::DefaultEventDelegate::HasListener() {
diff --git a/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.cc b/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.cc
index e0413cfc..1b78c8c 100644
--- a/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.cc
+++ b/chrome/browser/extensions/api/braille_display_private/mock_braille_controller.cc
@@ -16,7 +16,7 @@
   state->available = available_;
   if (available_)
     state->text_cell_count.reset(new int(18));
-  return state.Pass();
+  return state;
 }
 
 void MockBrailleController::AddObserver(BrailleObserver* observer) {
diff --git a/chrome/browser/extensions/api/cast_streaming/performance_test.cc b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
index fb5ea03..409f8fb4 100644
--- a/chrome/browser/extensions/api/cast_streaming/performance_test.cc
+++ b/chrome/browser/extensions/api/cast_streaming/performance_test.cc
@@ -594,17 +594,13 @@
       net::IPEndPoint proxy_end_point = GetFreeLocalPort();
       if (HasFlag(kProxyWifi)) {
         udp_proxy = media::cast::test::UDPProxy::Create(
-            proxy_end_point,
-            receiver_end_point,
-            media::cast::test::WifiNetwork().Pass(),
-            media::cast::test::WifiNetwork().Pass(),
+            proxy_end_point, receiver_end_point,
+            media::cast::test::WifiNetwork(), media::cast::test::WifiNetwork(),
             NULL);
       } else if (HasFlag(kProxyBad)) {
         udp_proxy = media::cast::test::UDPProxy::Create(
-            proxy_end_point,
-            receiver_end_point,
-            media::cast::test::BadNetwork().Pass(),
-            media::cast::test::BadNetwork().Pass(),
+            proxy_end_point, receiver_end_point,
+            media::cast::test::BadNetwork(), media::cast::test::BadNetwork(),
             NULL);
       }
       receiver_end_point = proxy_end_point;
diff --git a/chrome/browser/extensions/api/commands/command_service.cc b/chrome/browser/extensions/api/commands/command_service.cc
index 1dd125b..dc30821 100644
--- a/chrome/browser/extensions/api/commands/command_service.cc
+++ b/chrome/browser/extensions/api/commands/command_service.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/commands/command_service.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/lazy_instance.h"
@@ -288,9 +289,8 @@
   scoped_ptr<base::DictionaryValue> suggested_key_prefs(
       new base::DictionaryValue);
   suggested_key_prefs->Set(command_name, command_keys.release());
-  MergeSuggestedKeyPrefs(extension_id,
-                         ExtensionPrefs::Get(profile_),
-                         suggested_key_prefs.Pass());
+  MergeSuggestedKeyPrefs(extension_id, ExtensionPrefs::Get(profile_),
+                         std::move(suggested_key_prefs));
 
   // Fetch the newly-updated command, and notify the observers.
   FOR_EACH_OBSERVER(
@@ -675,9 +675,8 @@
   }
 
   // Merge into current prefs, if present.
-  MergeSuggestedKeyPrefs(extension->id(),
-                         ExtensionPrefs::Get(profile_),
-                         suggested_key_prefs.Pass());
+  MergeSuggestedKeyPrefs(extension->id(), ExtensionPrefs::Get(profile_),
+                         std::move(suggested_key_prefs));
 }
 
 void CommandService::RemoveDefunctExtensionSuggestedCommandPrefs(
diff --git a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h
index 9b7ce87..3d7bcb8d 100644
--- a/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h
+++ b/chrome/browser/extensions/api/context_menus/context_menus_api_helpers.h
@@ -34,7 +34,7 @@
     parent_id->string_uid = *property.parent_id->as_string;
   else
     NOTREACHED();
-  return parent_id.Pass();
+  return parent_id;
 }
 
 }  // namespace
diff --git a/chrome/browser/extensions/api/cookies/cookies_api.cc b/chrome/browser/extensions/api/cookies/cookies_api.cc
index 7f00ee3..c90fd9ee 100644
--- a/chrome/browser/extensions/api/cookies/cookies_api.cc
+++ b/chrome/browser/extensions/api/cookies/cookies_api.cc
@@ -6,6 +6,7 @@
 
 #include "chrome/browser/extensions/api/cookies/cookies_api.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -178,7 +179,7 @@
   GURL cookie_domain =
       cookies_helpers::GetURLFromCanonicalCookie(*details->cookie);
   DispatchEvent(profile, events::COOKIES_ON_CHANGED,
-                cookies::OnChanged::kEventName, args.Pass(), cookie_domain);
+                cookies::OnChanged::kEventName, std::move(args), cookie_domain);
 }
 
 void CookiesEventRouter::DispatchEvent(content::BrowserContext* context,
@@ -190,10 +191,10 @@
   if (!router)
     return;
   scoped_ptr<Event> event(
-      new Event(histogram_value, event_name, event_args.Pass()));
+      new Event(histogram_value, event_name, std::move(event_args)));
   event->restrict_to_browser_context = context;
   event->event_url = cookie_domain;
-  router->BroadcastEvent(event.Pass());
+  router->BroadcastEvent(std::move(event));
 }
 
 CookiesGetFunction::CookiesGetFunction() {
diff --git a/chrome/browser/extensions/api/cookies/cookies_helpers.cc b/chrome/browser/extensions/api/cookies/cookies_helpers.cc
index 67d8356..6b39d09 100644
--- a/chrome/browser/extensions/api/cookies/cookies_helpers.cc
+++ b/chrome/browser/extensions/api/cookies/cookies_helpers.cc
@@ -89,7 +89,7 @@
   }
   cookie->store_id = store_id;
 
-  return cookie.Pass();
+  return cookie;
 }
 
 scoped_ptr<CookieStore> CreateCookieStore(Profile* profile,
diff --git a/chrome/browser/extensions/api/copresence/copresence_api.cc b/chrome/browser/extensions/api/copresence/copresence_api.cc
index 97fde00..94aa776 100644
--- a/chrome/browser/extensions/api/copresence/copresence_api.cc
+++ b/chrome/browser/extensions/api/copresence/copresence_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/copresence/copresence_api.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "base/memory/linked_ptr.h"
 #include "base/prefs/pref_service.h"
@@ -92,7 +94,7 @@
 
 void CopresenceService::set_manager_for_testing(
     scoped_ptr<copresence::CopresenceManager> manager) {
-  manager_ = manager.Pass();
+  manager_ = std::move(manager);
 }
 
 void CopresenceService::ResetState() {
@@ -152,7 +154,7 @@
       OnMessagesReceived::Create(subscription_id, api_messages),
       browser_context_));
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(app_id, event.Pass());
+      ->DispatchEventToExtension(app_id, std::move(event));
   DVLOG(2) << "Passed " << api_messages.size() << " messages to app \""
            << app_id << "\" for subscription \"" << subscription_id << "\"";
 }
@@ -164,7 +166,7 @@
       events::COPRESENCE_ON_STATUS_UPDATED, OnStatusUpdated::kEventName,
       OnStatusUpdated::Create(api::copresence::STATUS_AUDIOFAILED),
       browser_context_));
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
   DVLOG(2) << "Sent Audio Failed status update.";
 }
 
diff --git a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc b/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
index 110a503..ff79a4c 100644
--- a/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
+++ b/chrome/browser/extensions/api/copresence/copresence_api_unittest.cc
@@ -2,9 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/api/copresence/copresence_api.h"
+
+#include <utility>
+
 #include "base/json/json_writer.h"
 #include "base/values.h"
-#include "chrome/browser/extensions/api/copresence/copresence_api.h"
 #include "chrome/browser/extensions/extension_api_unittest.h"
 #include "chrome/browser/extensions/extension_function_test_utils.h"
 #include "components/copresence/proto/data.pb.h"
@@ -120,8 +123,8 @@
     function->set_extension(extension());
     function->set_browser_context(profile());
     function->set_has_callback(true);
-    test_utils::RunFunction(
-        function.get(), args_list.Pass(), browser(), test_utils::NONE);
+    test_utils::RunFunction(function.get(), std::move(args_list), browser(),
+                            test_utils::NONE);
     return function->GetResultList();
   }
 
@@ -157,10 +160,10 @@
   publish->strategies->only_broadcast.reset(new bool(true));  // Default
 
   scoped_ptr<Operation> operation(new Operation);
-  operation->publish = publish.Pass();
+  operation->publish = std::move(publish);
 
   clear_app_id();
-  EXPECT_TRUE(ExecuteOperation(operation.Pass()));
+  EXPECT_TRUE(ExecuteOperation(std::move(operation)));
   EXPECT_EQ(extension()->id(), app_id_sent());
 
   PublishedMessage message;
@@ -184,10 +187,10 @@
   subscribe->strategies->audible.reset(new bool(true));  // Not default
 
   scoped_ptr<Operation> operation(new Operation);
-  operation->subscribe = subscribe.Pass();
+  operation->subscribe = std::move(subscribe);
 
   clear_app_id();
-  EXPECT_TRUE(ExecuteOperation(operation.Pass()));
+  EXPECT_TRUE(ExecuteOperation(std::move(operation)));
   EXPECT_EQ(extension()->id(), app_id_sent());
 
   Subscription subscription;
@@ -281,7 +284,7 @@
   unsubscribe_operation->unsubscribe.reset(new UnsubscribeOperation);
   unsubscribe_operation->unsubscribe->unsubscribe_id = "invalid id";
 
-  EXPECT_FALSE(ExecuteOperation(unsubscribe_operation.Pass()));
+  EXPECT_FALSE(ExecuteOperation(std::move(unsubscribe_operation)));
 }
 
 TEST_F(CopresenceApiUnittest, MultipleOperations) {
@@ -289,7 +292,7 @@
   multi_operation->publish.reset(CreatePublish("pub"));
   multi_operation->subscribe.reset(CreateSubscribe("sub"));
 
-  EXPECT_FALSE(ExecuteOperation(multi_operation.Pass()));
+  EXPECT_FALSE(ExecuteOperation(std::move(multi_operation)));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api_unittest.cc b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api_unittest.cc
index 6e1150c..772eaa2 100644
--- a/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api_unittest.cc
+++ b/chrome/browser/extensions/api/cryptotoken_private/cryptotoken_private_api_unittest.cc
@@ -7,6 +7,7 @@
 #include <algorithm>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "chrome/browser/extensions/extension_api_unittest.h"
@@ -56,9 +57,7 @@
     args->AppendString(appId);
 
     extension_function_test_utils::RunFunction(
-        function.get(),
-        args.Pass(),
-        browser(),
+        function.get(), std::move(args), browser(),
         extension_function_test_utils::NONE);
 
     bool result;
diff --git a/chrome/browser/extensions/api/dashboard_private/dashboard_private_api.cc b/chrome/browser/extensions/api/dashboard_private/dashboard_private_api.cc
index 0de44d6..9c785c2c 100644
--- a/chrome/browser/extensions/api/dashboard_private/dashboard_private_api.cc
+++ b/chrome/browser/extensions/api/dashboard_private/dashboard_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/dashboard_private/dashboard_private_api.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/thread_task_runner_handle.h"
 #include "chrome/browser/bitmap_fetcher/bitmap_fetcher.h"
@@ -145,7 +147,7 @@
 
   install_prompt_.reset(new ExtensionInstallPrompt(web_contents));
   install_prompt_->ShowDialog(
-      this, dummy_extension_.get(), &icon, prompt.Pass(),
+      this, dummy_extension_.get(), &icon, std::move(prompt),
       ExtensionInstallPrompt::GetDefaultShowDialogCallback());
   // Control flow finishes up in InstallUIProceed or InstallUIAbort.
 }
diff --git a/chrome/browser/extensions/api/data_reduction_proxy/data_reduction_proxy_api.cc b/chrome/browser/extensions/api/data_reduction_proxy/data_reduction_proxy_api.cc
index be1013f6..96e3682 100644
--- a/chrome/browser/extensions/api/data_reduction_proxy/data_reduction_proxy_api.cc
+++ b/chrome/browser/extensions/api/data_reduction_proxy/data_reduction_proxy_api.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/data_reduction_proxy/data_reduction_proxy_api.h"
 
+#include <utility>
 #include <vector>
 
 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
@@ -52,15 +53,15 @@
         usage->SetString("hostname", site_usage.hostname());
         usage->SetDouble("data_used", site_usage.data_used());
         usage->SetDouble("original_size", site_usage.original_size());
-        site_usage_list->Append(usage.Pass());
+        site_usage_list->Append(std::move(usage));
       }
-      connection_usage_list->Append(site_usage_list.Pass());
+      connection_usage_list->Append(std::move(site_usage_list));
     }
-    data_usage_buckets->Append(connection_usage_list.Pass());
+    data_usage_buckets->Append(std::move(connection_usage_list));
   }
 
   base::DictionaryValue* result = new base::DictionaryValue();
-  result->Set("data_usage_buckets", data_usage_buckets.Pass());
+  result->Set("data_usage_buckets", std::move(data_usage_buckets));
   Respond(OneArgument(result));
 }
 
diff --git a/chrome/browser/extensions/api/debugger/debugger_api.cc b/chrome/browser/extensions/api/debugger/debugger_api.cc
index efeef36..e36fb72 100644
--- a/chrome/browser/extensions/api/debugger/debugger_api.cc
+++ b/chrome/browser/extensions/api/debugger/debugger_api.cc
@@ -7,9 +7,9 @@
 #include "chrome/browser/extensions/api/debugger/debugger_api.h"
 
 #include <stddef.h>
-
 #include <map>
 #include <set>
+#include <utility>
 
 #include "base/callback_helpers.h"
 #include "base/command_line.h"
@@ -211,7 +211,7 @@
           base::Bind(&ExtensionDevToolsInfoBar::InfoBarDismissed,
                      base::Unretained(this)),
           extension_name));
-  infobar_ = GlobalConfirmInfoBar::Show(delegate.Pass());
+  infobar_ = GlobalConfirmInfoBar::Show(std::move(delegate));
 }
 
 ExtensionDevToolsInfoBar::~ExtensionDevToolsInfoBar() {
@@ -395,11 +395,11 @@
 
   scoped_ptr<base::ListValue> args(OnDetach::Create(debuggee_,
                                                     detach_reason_));
-  scoped_ptr<Event> event(
-      new Event(events::DEBUGGER_ON_DETACH, OnDetach::kEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(events::DEBUGGER_ON_DETACH,
+                                    OnDetach::kEventName, std::move(args)));
   event->restrict_to_browser_context = profile_;
   EventRouter::Get(profile_)
-      ->DispatchEventToExtension(extension_id_, event.Pass());
+      ->DispatchEventToExtension(extension_id_, std::move(event));
 }
 
 void ExtensionDevToolsClientHost::OnExtensionUnloaded(
@@ -443,11 +443,11 @@
 
     scoped_ptr<base::ListValue> args(
         OnEvent::Create(debuggee_, method_name, params));
-    scoped_ptr<Event> event(
-        new Event(events::DEBUGGER_ON_EVENT, OnEvent::kEventName, args.Pass()));
+    scoped_ptr<Event> event(new Event(events::DEBUGGER_ON_EVENT,
+                                      OnEvent::kEventName, std::move(args)));
     event->restrict_to_browser_context = profile_;
     EventRouter::Get(profile_)
-        ->DispatchEventToExtension(extension_id_, event.Pass());
+        ->DispatchEventToExtension(extension_id_, std::move(event));
   } else {
     DebuggerSendCommandFunction* function = pending_requests_[id].get();
     if (!function)
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_service_unittest.cc b/chrome/browser/extensions/api/declarative/rules_registry_service_unittest.cc
index 63b3c2f..41ee988 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_service_unittest.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_service_unittest.cc
@@ -5,6 +5,7 @@
 #include "extensions/browser/api/declarative/rules_registry_service.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/message_loop/message_loop.h"
@@ -107,7 +108,7 @@
                                                    .Set("manifest_version", 2)
                                                    .Build();
   scoped_refptr<Extension> extension = ExtensionBuilder()
-                                           .SetManifest(manifest.Pass())
+                                           .SetManifest(std::move(manifest))
                                            .SetID(kExtensionId)
                                            .Build();
   registry_service.SimulateExtensionUninstalled(extension.get());
diff --git a/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc b/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
index 5b9953a..c53bb74 100644
--- a/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
+++ b/chrome/browser/extensions/api/declarative/rules_registry_with_cache_unittest.cc
@@ -255,14 +255,14 @@
 
   scoped_ptr<base::ListValue> value(new base::ListValue);
   value->AppendBoolean(true);
-  cache_delegate->WriteToStorage(extension1_->id(), value.Pass());
+  cache_delegate->WriteToStorage(extension1_->id(), std::move(value));
   EXPECT_TRUE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
   base::RunLoop().RunUntilIdle();
   EXPECT_EQ(write_count + 1, store->write_count());
   write_count = store->write_count();
 
   value.reset(new base::ListValue);
-  cache_delegate->WriteToStorage(extension1_->id(), value.Pass());
+  cache_delegate->WriteToStorage(extension1_->id(), std::move(value));
   EXPECT_FALSE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
   base::RunLoop().RunUntilIdle();
   // No rules currently, but previously there were, so we expect a write.
@@ -270,7 +270,7 @@
   write_count = store->write_count();
 
   value.reset(new base::ListValue);
-  cache_delegate->WriteToStorage(extension1_->id(), value.Pass());
+  cache_delegate->WriteToStorage(extension1_->id(), std::move(value));
   EXPECT_FALSE(cache_delegate->GetDeclarativeRulesStored(extension1_->id()));
   base::RunLoop().RunUntilIdle();
   EXPECT_EQ(write_count, store->write_count());
diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
index 8ba4598..f2e1134d 100644
--- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action_unittest.cc
@@ -65,7 +65,7 @@
   EXPECT_EQ("", error);
   EXPECT_FALSE(bad_message);
   CHECK(action_set);
-  return action_set.Pass();
+  return action_set;
 }
 
 }  // namespace
diff --git a/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc b/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc
index 01a8438f..04c3685 100644
--- a/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc
+++ b/chrome/browser/extensions/api/desktop_capture/desktop_capture_base.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/desktop_capture/desktop_capture_base.h"
 
 #include <tuple>
+#include <utility>
 
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
@@ -125,8 +126,8 @@
       scoped_ptr<webrtc::WindowCapturer> window_capturer(
           show_windows ? webrtc::WindowCapturer::Create(options) : NULL);
 
-      media_list.reset(new NativeDesktopMediaList(
-          screen_capturer.Pass(), window_capturer.Pass()));
+      media_list.reset(new NativeDesktopMediaList(std::move(screen_capturer),
+                                                  std::move(window_capturer)));
     }
 
     // DesktopMediaPicker is implemented only for Windows, OSX and
@@ -147,13 +148,9 @@
       &DesktopCaptureChooseDesktopMediaFunctionBase::OnPickerDialogResults,
       this);
 
-  picker_->Show(web_contents,
-                parent_window,
-                parent_window,
-                base::UTF8ToUTF16(extension()->name()),
-                target_name,
-                media_list.Pass(),
-                callback);
+  picker_->Show(web_contents, parent_window, parent_window,
+                base::UTF8ToUTF16(extension()->name()), target_name,
+                std::move(media_list), callback);
   origin_ = origin;
   return true;
 }
diff --git a/chrome/browser/extensions/api/developer_private/developer_private_api.cc b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
index a0dd649..2604a1ac 100644
--- a/chrome/browser/extensions/api/developer_private/developer_private_api.cc
+++ b/chrome/browser/extensions/api/developer_private/developer_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/developer_private/developer_private_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file_util.h"
@@ -172,7 +173,7 @@
   info->can_load_unpacked =
       !ExtensionManagementFactory::GetForBrowserContext(profile)
           ->BlacklistedByDefault();
-  return info.Pass();
+  return info;
 }
 
 }  // namespace
@@ -351,8 +352,8 @@
   args->Append(CreateProfileInfo(profile_)->ToValue());
   scoped_ptr<Event> event(
       new Event(events::DEVELOPER_PRIVATE_ON_PROFILE_STATE_CHANGED,
-                developer::OnProfileStateChanged::kEventName, args.Pass()));
-  event_router_->BroadcastEvent(event.Pass());
+                developer::OnProfileStateChanged::kEventName, std::move(args)));
+  event_router_->BroadcastEvent(std::move(event));
 }
 
 void DeveloperPrivateEventRouter::ExtensionWarningsChanged(
@@ -366,8 +367,8 @@
   args->Append(CreateProfileInfo(profile_)->ToValue());
   scoped_ptr<Event> event(
       new Event(events::DEVELOPER_PRIVATE_ON_PROFILE_STATE_CHANGED,
-                developer::OnProfileStateChanged::kEventName, args.Pass()));
-  event_router_->BroadcastEvent(event.Pass());
+                developer::OnProfileStateChanged::kEventName, std::move(args)));
+  event_router_->BroadcastEvent(std::move(event));
 }
 
 void DeveloperPrivateEventRouter::BroadcastItemStateChanged(
@@ -379,10 +380,8 @@
   info_generator_weak->CreateExtensionInfo(
       extension_id,
       base::Bind(&DeveloperPrivateEventRouter::BroadcastItemStateChangedHelper,
-                 weak_factory_.GetWeakPtr(),
-                 event_type,
-                 extension_id,
-                 base::Passed(info_generator.Pass())));
+                 weak_factory_.GetWeakPtr(), event_type, extension_id,
+                 base::Passed(std::move(info_generator))));
 }
 
 void DeveloperPrivateEventRouter::BroadcastItemStateChangedHelper(
@@ -410,8 +409,8 @@
   args->Append(dict.release());
   scoped_ptr<Event> event(
       new Event(events::DEVELOPER_PRIVATE_ON_ITEM_STATE_CHANGED,
-                developer::OnItemStateChanged::kEventName, args.Pass()));
-  event_router_->BroadcastEvent(event.Pass());
+                developer::OnItemStateChanged::kEventName, std::move(args)));
+  event_router_->BroadcastEvent(std::move(event));
 }
 
 void DeveloperPrivateAPI::SetLastUnpackedDirectory(const base::FilePath& path) {
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
index dd2d583c..858e9b8 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/developer_private/extension_info_generator.h"
 
+#include <utility>
+
 #include "base/base64.h"
 #include "base/location.h"
 #include "base/single_thread_task_runner.h"
@@ -546,12 +548,9 @@
     // used by the url is 48x48).
     gfx::Size max_size(128, 128);
     image_loader_->LoadImageAsync(
-        &extension,
-        icon,
-        max_size,
+        &extension, icon, max_size,
         base::Bind(&ExtensionInfoGenerator::OnImageLoaded,
-                   weak_factory_.GetWeakPtr(),
-                   base::Passed(info.Pass())));
+                   weak_factory_.GetWeakPtr(), base::Passed(std::move(info))));
   }
 }
 
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
index 6264141b..48185280 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
@@ -191,11 +191,12 @@
           .Build();
   scoped_ptr<base::DictionaryValue> manifest_copy(manifest->DeepCopy());
   scoped_refptr<const Extension> extension =
-      ExtensionBuilder().SetManifest(manifest.Pass())
-                        .SetLocation(Manifest::UNPACKED)
-                        .SetPath(data_dir())
-                        .SetID(id)
-                        .Build();
+      ExtensionBuilder()
+          .SetManifest(std::move(manifest))
+          .SetLocation(Manifest::UNPACKED)
+          .SetPath(data_dir())
+          .SetID(id)
+          .Build();
   service()->AddExtension(extension.get());
   ErrorConsole* error_console = ErrorConsole::Get(profile());
   error_console->ReportError(
@@ -271,10 +272,11 @@
   manifest_copy->SetString("update_url",
                            "https://clients2.google.com/service/update2/crx");
   id = crx_file::id_util::GenerateId("beta");
-  extension = ExtensionBuilder().SetManifest(manifest_copy.Pass())
-                                .SetLocation(Manifest::EXTERNAL_PREF)
-                                .SetID(id)
-                                .Build();
+  extension = ExtensionBuilder()
+                  .SetManifest(std::move(manifest_copy))
+                  .SetLocation(Manifest::EXTERNAL_PREF)
+                  .SetID(id)
+                  .Build();
   service()->AddExtension(extension.get());
   info = GenerateExtensionInfo(extension->id());
   EXPECT_EQ(developer::LOCATION_THIRD_PARTY, info->location);
diff --git a/chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.cc b/chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.cc
index c38ee810..d791ed1 100644
--- a/chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.cc
+++ b/chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/developer_private/show_permissions_dialog_helper.h"
 
+#include <utility>
+
 #include "apps/app_load_service.h"
 #include "apps/saved_files_service.h"
 #include "base/metrics/histogram.h"
@@ -81,7 +83,7 @@
           ExtensionInstallPrompt::POST_INSTALL_PERMISSIONS_PROMPT));
   prompt->set_retained_files(retained_file_paths);
   prompt->set_retained_device_messages(retained_device_messages);
-  prompt_->ShowDialog(this, extension, nullptr, prompt.Pass(),
+  prompt_->ShowDialog(this, extension, nullptr, std::move(prompt),
                       ExtensionInstallPrompt::GetDefaultShowDialogCallback());
 }
 
diff --git a/chrome/browser/extensions/api/dial/dial_api.cc b/chrome/browser/extensions/api/dial/dial_api.cc
index daae99f..a0a36ce 100644
--- a/chrome/browser/extensions/api/dial/dial_api.cc
+++ b/chrome/browser/extensions/api/dial/dial_api.cc
@@ -5,7 +5,7 @@
 #include "chrome/browser/extensions/api/dial/dial_api.h"
 
 #include <stddef.h>
-
+#include <utility>
 #include <vector>
 
 #include "base/time/time.h"
@@ -109,8 +109,8 @@
   scoped_ptr<base::ListValue> results = api::dial::OnDeviceList::Create(args);
   scoped_ptr<Event> event(new Event(events::DIAL_ON_DEVICE_LIST,
                                     dial::OnDeviceList::kEventName,
-                                    results.Pass()));
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+                                    std::move(results)));
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
 }
 
 void DialAPI::SendErrorOnUIThread(const DialRegistry::DialErrorCode code) {
@@ -139,9 +139,9 @@
   }
 
   scoped_ptr<base::ListValue> results = api::dial::OnError::Create(dial_error);
-  scoped_ptr<Event> event(new Event(events::DIAL_ON_ERROR,
-                                    dial::OnError::kEventName, results.Pass()));
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+  scoped_ptr<Event> event(new Event(
+      events::DIAL_ON_ERROR, dial::OnError::kEventName, std::move(results)));
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
 }
 
 void DialAPI::ShutdownOnUIThread() {}
diff --git a/chrome/browser/extensions/api/dial/dial_service.cc b/chrome/browser/extensions/api/dial/dial_service.cc
index e6d25bd..d90eb04 100644
--- a/chrome/browser/extensions/api/dial/dial_service.cc
+++ b/chrome/browser/extensions/api/dial/dial_service.cc
@@ -532,7 +532,7 @@
   scoped_ptr<DialServiceImpl::DialSocket> dial_socket(CreateDialSocket());
   if (dial_socket->CreateAndBindSocket(bind_ip_address, net_log_,
                                        net_log_source_))
-    dial_sockets_.push_back(dial_socket.Pass());
+    dial_sockets_.push_back(std::move(dial_socket));
 }
 
 scoped_ptr<DialServiceImpl::DialSocket> DialServiceImpl::CreateDialSocket() {
@@ -541,7 +541,7 @@
           base::Bind(&DialServiceImpl::NotifyOnDiscoveryRequest, AsWeakPtr()),
           base::Bind(&DialServiceImpl::NotifyOnDeviceDiscovered, AsWeakPtr()),
           base::Bind(&DialServiceImpl::NotifyOnError, AsWeakPtr())));
-  return dial_socket.Pass();
+  return dial_socket;
 }
 
 void DialServiceImpl::SendOneRequest() {
diff --git a/chrome/browser/extensions/api/downloads/downloads_api.cc b/chrome/browser/extensions/api/downloads/downloads_api.cc
index 8f7e2b94..5739323d 100644
--- a/chrome/browser/extensions/api/downloads/downloads_api.cc
+++ b/chrome/browser/extensions/api/downloads/downloads_api.cc
@@ -6,9 +6,9 @@
 
 #include <stddef.h>
 #include <stdint.h>
-
 #include <set>
 #include <string>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
@@ -540,7 +540,7 @@
       return;
   }
 
-  scoped_ptr<base::DictionaryValue> query_in_value(query_in.ToValue().Pass());
+  scoped_ptr<base::DictionaryValue> query_in_value(query_in.ToValue());
   for (base::DictionaryValue::Iterator query_json_field(*query_in_value.get());
        !query_json_field.IsAtEnd(); query_json_field.Advance()) {
     FilterTypeMap::const_iterator filter_type =
@@ -601,9 +601,8 @@
       scoped_ptr<base::DictionaryValue> json_item)
       : updated_(0),
         changed_fired_(0),
-        json_(json_item.Pass()),
-        creator_conflict_action_(
-            downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY),
+        json_(std::move(json_item)),
+        creator_conflict_action_(downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY),
         determined_conflict_action_(
             downloads::FILENAME_CONFLICT_ACTION_UNIQUIFY) {
     DCHECK_CURRENTLY_ON(BrowserThread::UI);
@@ -619,7 +618,7 @@
 
   const base::DictionaryValue& json() const { return *json_.get(); }
   void set_json(scoped_ptr<base::DictionaryValue> json_item) {
-    json_ = json_item.Pass();
+    json_ = std::move(json_item);
   }
 
   void OnItemUpdated() { ++updated_; }
@@ -1025,7 +1024,7 @@
 
   DownloadManager* manager = BrowserContext::GetDownloadManager(
       current_profile);
-  manager->DownloadUrl(download_params.Pass());
+  manager->DownloadUrl(std::move(download_params));
   RecordDownloadSource(DOWNLOAD_INITIATED_BY_EXTENSION);
   RecordApiFunctions(DOWNLOADS_FUNCTION_DOWNLOAD);
   return true;
@@ -1768,7 +1767,7 @@
       (router->HasEventListener(downloads::OnChanged::kEventName) ||
        router->HasEventListener(
            downloads::OnDeterminingFilename::kEventName))) {
-    new ExtensionDownloadsEventRouterData(download_item, json_item.Pass());
+    new ExtensionDownloadsEventRouterData(download_item, std::move(json_item));
   }
 }
 
@@ -1837,7 +1836,7 @@
                   Event::WillDispatchCallback(), delta.release());
     data->OnChangedFired();
   }
-  data->set_json(new_json.Pass());
+  data->set_json(std::move(new_json));
 }
 
 void ExtensionDownloadsEventRouter::OnDownloadRemoved(
@@ -1864,7 +1863,8 @@
   args->Append(arg);
   std::string json_args;
   base::JSONWriter::Write(*args, &json_args);
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
   // The downloads system wants to share on-record events with off-record
   // extension renderers even in incognito_split_mode because that's how
   // chrome://downloads works. The "restrict_to_profile" mechanism does not
@@ -1873,7 +1873,7 @@
   event->restrict_to_browser_context =
       (include_incognito && !profile_->IsOffTheRecord()) ? NULL : profile_;
   event->will_dispatch_callback = will_dispatch_callback;
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
   DownloadsNotificationSource notification_source;
   notification_source.event_name = event_name;
   notification_source.profile = profile_;
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
index 02fe41d..9399d29 100644
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_api.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/base64url.h"
@@ -753,7 +754,7 @@
 
   remote_devices_.reset(new base::ListValue());
   if (expected_devices_count_ == 0) {
-    SetResult(remote_devices_.Pass());
+    SetResult(std::move(remote_devices_));
     SendResponse(true);
     return;
   }
@@ -762,7 +763,7 @@
   // not try the classic Bluetooth protocol.
   for (const auto& unlock_key : unlock_keys) {
     if (unlock_key.bluetooth_address().empty()) {
-      SetResult(remote_devices_.Pass());
+      SetResult(std::move(remote_devices_));
       SendResponse(true);
       return;
     }
@@ -805,15 +806,15 @@
   permit_license->SetString("id", b64_public_key);
   permit_license->SetString("type", "license");
   permit_license->SetString("data", b64_public_key);
-  device_dictionary->Set("permitRecord", permit_license.Pass());
+  device_dictionary->Set("permitRecord", std::move(permit_license));
 
-  remote_devices_->Append(device_dictionary.Pass());
+  remote_devices_->Append(std::move(device_dictionary));
 
   // If all PSKs are derived, then return from the API call.
   PA_LOG(INFO) << "Derived PSK for " << b64_public_key << ": "
                << remote_devices_->GetSize() << "/" << expected_devices_count_;
   if (remote_devices_->GetSize() == expected_devices_count_) {
-    SetResult(remote_devices_.Pass());
+    SetResult(std::move(remote_devices_));
     SendResponse(true);
   }
 }
@@ -959,7 +960,7 @@
   results->AppendInteger(connection_info.rssi);
   results->AppendInteger(connection_info.transmit_power);
   results->AppendInteger(connection_info.max_transmit_power);
-  SetResultList(results.Pass());
+  SetResultList(std::move(results));
   SendResponse(true);
 }
 
@@ -1074,7 +1075,7 @@
   bool persistent = false;
   int connection_id =
       GetConnectionManager(browser_context())
-          ->AddConnection(extension(), connection.Pass(), persistent);
+          ->AddConnection(extension(), std::move(connection), persistent);
   results_ = easy_unlock_private::FindSetupConnection::Results::Create(
       connection_id, device_address);
   SendResponse(true);
diff --git a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.cc b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.cc
index 878e6ab6..84288b79 100644
--- a/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.cc
+++ b/chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection_manager.h"
 
+#include <utility>
+
 #include "base/logging.h"
 #include "chrome/browser/extensions/api/easy_unlock_private/easy_unlock_private_connection.h"
 #include "chrome/common/extensions/api/easy_unlock_private.h"
@@ -56,7 +58,7 @@
   connection->AddObserver(this);
   extensions_.insert(extension->id());
   EasyUnlockPrivateConnection* api_connection = new EasyUnlockPrivateConnection(
-      persistent, extension->id(), connection.Pass());
+      persistent, extension->id(), std::move(connection));
   int connection_id = GetResourceManager()->Add(api_connection);
   return connection_id;
 }
@@ -113,7 +115,8 @@
       api::easy_unlock_private::OnConnectionStatusChanged::Create(
           0, ToApiConnectionStatus(old_status),
           ToApiConnectionStatus(new_status));
-  DispatchConnectionEvent(event_name, histogram_value, connection, args.Pass());
+  DispatchConnectionEvent(event_name, histogram_value, connection,
+                          std::move(args));
 }
 
 void EasyUnlockPrivateConnectionManager::OnMessageReceived(
@@ -126,7 +129,7 @@
   scoped_ptr<base::ListValue> args =
       api::easy_unlock_private::OnDataReceived::Create(0, data);
   DispatchConnectionEvent(event_name, histogram_value, &connection,
-                          args.Pass());
+                          std::move(args));
 }
 
 void EasyUnlockPrivateConnectionManager::OnSendCompleted(
@@ -141,7 +144,7 @@
   scoped_ptr<base::ListValue> args =
       api::easy_unlock_private::OnSendCompleted::Create(0, data, success);
   DispatchConnectionEvent(event_name, histogram_value, &connection,
-                          args.Pass());
+                          std::move(args));
 }
 
 void EasyUnlockPrivateConnectionManager::DispatchConnectionEvent(
@@ -161,9 +164,9 @@
     args_copy->Set(connection_index,
                    make_scoped_ptr(new base::FundamentalValue(connection_id)));
     scoped_ptr<Event> event(
-        new Event(histogram_value, event_name, args_copy.Pass()));
+        new Event(histogram_value, event_name, std::move(args_copy)));
     EventRouter::Get(browser_context_)
-        ->DispatchEventToExtension(extension_id, event.Pass());
+        ->DispatchEventToExtension(extension_id, std::move(event));
   }
 }
 
diff --git a/chrome/browser/extensions/api/experience_sampling_private/experience_sampling.cc b/chrome/browser/extensions/api/experience_sampling_private/experience_sampling.cc
index 8a62c9c..0290f987b 100644
--- a/chrome/browser/extensions/api/experience_sampling_private/experience_sampling.cc
+++ b/chrome/browser/extensions/api/experience_sampling_private/experience_sampling.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/experience_sampling_private/experience_sampling.h"
 
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/profiles/profile.h"
@@ -83,12 +85,13 @@
   scoped_ptr<base::ListValue> args(new base::ListValue());
   args->Append(ui_element_.ToValue().release());
   args->Append(decision.ToValue().release());
-  scoped_ptr<Event> event(new Event(
-      events::EXPERIENCE_SAMPLING_PRIVATE_ON_DECISION,
-      api::experience_sampling_private::OnDecision::kEventName, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(events::EXPERIENCE_SAMPLING_PRIVATE_ON_DECISION,
+                api::experience_sampling_private::OnDecision::kEventName,
+                std::move(args)));
   EventRouter* router = EventRouter::Get(browser_context_);
   if (router)
-    router->BroadcastEvent(event.Pass());
+    router->BroadcastEvent(std::move(event));
 }
 
 void ExperienceSamplingEvent::CreateOnDisplayedEvent() {
@@ -98,12 +101,13 @@
     return;
   scoped_ptr<base::ListValue> args(new base::ListValue());
   args->Append(ui_element_.ToValue().release());
-  scoped_ptr<Event> event(new Event(
-      events::EXPERIENCE_SAMPLING_PRIVATE_ON_DISPLAYED,
-      api::experience_sampling_private::OnDisplayed::kEventName, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(events::EXPERIENCE_SAMPLING_PRIVATE_ON_DISPLAYED,
+                api::experience_sampling_private::OnDisplayed::kEventName,
+                std::move(args)));
   EventRouter* router = EventRouter::Get(browser_context_);
   if (router)
-    router->BroadcastEvent(event.Pass());
+    router->BroadcastEvent(std::move(event));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
index eb0660779..fcca921 100644
--- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc
+++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/location.h"
@@ -307,11 +308,11 @@
     return;
 
   scoped_ptr<Event> event(
-      new Event(histogram_value, event_name, event_args.Pass()));
+      new Event(histogram_value, event_name, std::move(event_args)));
   event->restrict_to_browser_context = context;
   event->user_gesture = EventRouter::USER_GESTURE_ENABLED;
   EventRouter::Get(context)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 void ExtensionActionAPI::ExtensionActionExecuted(
@@ -342,7 +343,7 @@
 
     DispatchEventToExtension(web_contents->GetBrowserContext(),
                              extension_action.extension_id(), histogram_value,
-                             event_name, args.Pass());
+                             event_name, std::move(args));
   }
 }
 
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_private_api.cc b/chrome/browser/extensions/api/feedback_private/feedback_private_api.cc
index b0ce1d99..16ee81ab 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_private_api.cc
+++ b/chrome/browser/extensions/api/feedback_private/feedback_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/feedback_private/feedback_private_api.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "base/macros.h"
 #include "base/memory/scoped_ptr.h"
@@ -92,11 +94,11 @@
 
     scoped_ptr<Event> event(new Event(
         events::FEEDBACK_PRIVATE_ON_FEEDBACK_REQUESTED,
-        feedback_private::OnFeedbackRequested::kEventName, args.Pass()));
+        feedback_private::OnFeedbackRequested::kEventName, std::move(args)));
     event->restrict_to_browser_context = browser_context_;
 
     EventRouter::Get(browser_context_)
-        ->DispatchEventToExtension(kFeedbackExtensionId, event.Pass());
+        ->DispatchEventToExtension(kFeedbackExtensionId, std::move(event));
   }
 }
 
@@ -216,7 +218,7 @@
          it != sys_info->end(); ++it)
       (*sys_logs.get())[it->get()->key] = it->get()->value;
   }
-  feedback_data->SetAndCompressSystemInfo(sys_logs.Pass());
+  feedback_data->SetAndCompressSystemInfo(std::move(sys_logs));
 
   FeedbackService* service =
       FeedbackPrivateAPI::GetFactoryInstance()->Get(GetProfile())->GetService();
@@ -226,7 +228,7 @@
     scoped_ptr<std::string> histograms(new std::string);
     *histograms = base::StatisticsRecorder::ToJSON(std::string());
     if (!histograms->empty())
-      feedback_data->SetAndCompressHistograms(histograms.Pass());
+      feedback_data->SetAndCompressHistograms(std::move(histograms));
   }
 
   service->SendFeedback(
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_service.cc b/chrome/browser/extensions/api/feedback_private/feedback_service.cc
index 33efea8a..28a72c6 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_service.cc
+++ b/chrome/browser/extensions/api/feedback_private/feedback_service.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/feedback_private/feedback_service.h"
 
+#include <utility>
+
 #include "base/callback.h"
 #include "base/memory/weak_ptr.h"
 #include "base/strings/string_number_conversions.h"
@@ -73,7 +75,7 @@
                                            int64_t /* total_blob_length */) {
   feedback_data_->set_attached_file_uuid(std::string());
   if (data)
-    feedback_data_->AttachAndCompressFileData(data.Pass());
+    feedback_data_->AttachAndCompressFileData(std::move(data));
 
   CompleteSendFeedback();
 }
@@ -82,7 +84,7 @@
                                          int64_t /* total_blob_length */) {
   feedback_data_->set_screenshot_uuid(std::string());
   if (data)
-    feedback_data_->set_image(data.Pass());
+    feedback_data_->set_image(std::move(data));
 
   CompleteSendFeedback();
 }
diff --git a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
index 554c118..c0844f6f 100644
--- a/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
+++ b/chrome/browser/extensions/api/gcd_private/gcd_private_api.cc
@@ -224,7 +224,7 @@
 scoped_ptr<base::ListValue> GcdPrivateAPIImpl::GetPrefetchedSSIDList() {
   scoped_ptr<base::ListValue> retval(new base::ListValue);
 
-  return retval.Pass();
+  return retval;
 }
 
 
diff --git a/chrome/browser/extensions/api/gcd_private/privet_v3_session_unittest.cc b/chrome/browser/extensions/api/gcd_private/privet_v3_session_unittest.cc
index a8d68b6..b99877a 100644
--- a/chrome/browser/extensions/api/gcd_private/privet_v3_session_unittest.cc
+++ b/chrome/browser/extensions/api/gcd_private/privet_v3_session_unittest.cc
@@ -90,7 +90,7 @@
         new net::HttpResponseHeaders("");
     headers->AddHeader("Content-Type: application/json");
     fetcher->set_response_headers(headers);
-    return fetcher.Pass();
+    return fetcher;
   }
 
   content::TestBrowserThreadBundle thread_bundle_;
diff --git a/chrome/browser/extensions/api/gcm/gcm_api.cc b/chrome/browser/extensions/api/gcm/gcm_api.cc
index b658e77..abb68abb 100644
--- a/chrome/browser/extensions/api/gcm/gcm_api.cc
+++ b/chrome/browser/extensions/api/gcm/gcm_api.cc
@@ -5,9 +5,9 @@
 #include "chrome/browser/extensions/api/gcm/gcm_api.h"
 
 #include <stddef.h>
-
 #include <algorithm>
 #include <map>
+#include <utility>
 #include <vector>
 
 #include "base/macros.h"
@@ -219,15 +219,17 @@
 
   scoped_ptr<Event> event(
       new Event(events::GCM_ON_MESSAGE, api::gcm::OnMessage::kEventName,
-                api::gcm::OnMessage::Create(message_arg).Pass(), profile_));
-  EventRouter::Get(profile_)->DispatchEventToExtension(app_id, event.Pass());
+                api::gcm::OnMessage::Create(message_arg), profile_));
+  EventRouter::Get(profile_)
+      ->DispatchEventToExtension(app_id, std::move(event));
 }
 
 void GcmJsEventRouter::OnMessagesDeleted(const std::string& app_id) {
   scoped_ptr<Event> event(new Event(
       events::GCM_ON_MESSAGES_DELETED, api::gcm::OnMessagesDeleted::kEventName,
-      api::gcm::OnMessagesDeleted::Create().Pass(), profile_));
-  EventRouter::Get(profile_)->DispatchEventToExtension(app_id, event.Pass());
+      api::gcm::OnMessagesDeleted::Create(), profile_));
+  EventRouter::Get(profile_)
+      ->DispatchEventToExtension(app_id, std::move(event));
 }
 
 void GcmJsEventRouter::OnSendError(
@@ -240,8 +242,9 @@
 
   scoped_ptr<Event> event(
       new Event(events::GCM_ON_SEND_ERROR, api::gcm::OnSendError::kEventName,
-                api::gcm::OnSendError::Create(error).Pass(), profile_));
-  EventRouter::Get(profile_)->DispatchEventToExtension(app_id, event.Pass());
+                api::gcm::OnSendError::Create(error), profile_));
+  EventRouter::Get(profile_)
+      ->DispatchEventToExtension(app_id, std::move(event));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/history/history_api.cc b/chrome/browser/extensions/api/history/history_api.cc
index c267fe9e..35d2ce9f 100644
--- a/chrome/browser/extensions/api/history/history_api.cc
+++ b/chrome/browser/extensions/api/history/history_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/history/history_api.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/callback.h"
@@ -71,7 +73,7 @@
   history_item->typed_count.reset(new int(row.typed_count()));
   history_item->visit_count.reset(new int(row.visit_count()));
 
-  return history_item.Pass();
+  return history_item;
 }
 
 scoped_ptr<VisitItem> GetVisitItem(const history::VisitRow& row) {
@@ -124,7 +126,7 @@
 
   visit_item->transition = transition;
 
-  return visit_item.Pass();
+  return visit_item;
 }
 
 }  // namespace
@@ -147,7 +149,7 @@
   scoped_ptr<HistoryItem> history_item = GetHistoryItem(row);
   scoped_ptr<base::ListValue> args = OnVisited::Create(*history_item);
   DispatchEvent(profile_, events::HISTORY_ON_VISITED,
-                api::history::OnVisited::kEventName, args.Pass());
+                api::history::OnVisited::kEventName, std::move(args));
 }
 
 void HistoryEventRouter::OnURLsDeleted(history::HistoryService* history_service,
@@ -165,7 +167,7 @@
 
   scoped_ptr<base::ListValue> args = OnVisitRemoved::Create(removed);
   DispatchEvent(profile_, events::HISTORY_ON_VISIT_REMOVED,
-                api::history::OnVisitRemoved::kEventName, args.Pass());
+                api::history::OnVisitRemoved::kEventName, std::move(args));
 }
 
 void HistoryEventRouter::DispatchEvent(Profile* profile,
@@ -174,9 +176,9 @@
                                        scoped_ptr<base::ListValue> event_args) {
   if (profile && EventRouter::Get(profile)) {
     scoped_ptr<Event> event(
-        new Event(histogram_value, event_name, event_args.Pass()));
+        new Event(histogram_value, event_name, std::move(event_args)));
     event->restrict_to_browser_context = profile;
-    EventRouter::Get(profile)->BroadcastEvent(event.Pass());
+    EventRouter::Get(profile)->BroadcastEvent(std::move(event));
   }
 }
 
diff --git a/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc b/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc
index db251fa6..a17367f 100644
--- a/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc
+++ b/chrome/browser/extensions/api/hotword_private/hotword_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/hotword_private/hotword_private_api.h"
 
 #include <string>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/prefs/pref_service.h"
@@ -142,8 +143,9 @@
   if (!router || !router->HasEventListener(event_name))
     return;
 
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
-  router->BroadcastEvent(event.Pass());
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
+  router->BroadcastEvent(std::move(event));
 }
 
 bool HotwordPrivateSetEnabledFunction::RunSync() {
diff --git a/chrome/browser/extensions/api/identity/identity_api.cc b/chrome/browser/extensions/api/identity/identity_api.cc
index 937a231..5c217b2ee 100644
--- a/chrome/browser/extensions/api/identity/identity_api.cc
+++ b/chrome/browser/extensions/api/identity/identity_api.cc
@@ -248,9 +248,9 @@
       api::identity::OnSignInChanged::Create(account_info, is_signed_in);
   scoped_ptr<Event> event(new Event(events::IDENTITY_ON_SIGN_IN_CHANGED,
                                     api::identity::OnSignInChanged::kEventName,
-                                    args.Pass(), browser_context_));
+                                    std::move(args), browser_context_));
 
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
 }
 
 void IdentityAPI::AddShutdownObserver(ShutdownObserver* observer) {
diff --git a/chrome/browser/extensions/api/identity/identity_apitest.cc b/chrome/browser/extensions/api/identity/identity_apitest.cc
index be4a4d4..327d36d 100644
--- a/chrome/browser/extensions/api/identity/identity_apitest.cc
+++ b/chrome/browser/extensions/api/identity/identity_apitest.cc
@@ -4,6 +4,7 @@
 
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/command_line.h"
@@ -306,7 +307,7 @@
   void set_login_ui_result(bool result) { login_ui_result_ = result; }
 
   void set_mint_token_flow(scoped_ptr<OAuth2MintTokenFlow> flow) {
-    flow_ = flow.Pass();
+    flow_ = std::move(flow);
   }
 
   void set_mint_token_result(TestOAuth2MintTokenFlow::ResultType result_type) {
@@ -559,10 +560,9 @@
     will_create_browser_context_services_subscription_ =
         BrowserContextDependencyManager::GetInstance()
             ->RegisterWillCreateBrowserContextServicesCallbackForTesting(
-                  base::Bind(&IdentityTestWithSignin::
-                                 OnWillCreateBrowserContextServices,
-                             base::Unretained(this)))
-            .Pass();
+                base::Bind(
+                    &IdentityTestWithSignin::OnWillCreateBrowserContextServices,
+                    base::Unretained(this)));
   }
 
   void OnWillCreateBrowserContextServices(content::BrowserContext* context) {
diff --git a/chrome/browser/extensions/api/identity/web_auth_flow.cc b/chrome/browser/extensions/api/identity/web_auth_flow.cc
index 2859e923..6336764 100644
--- a/chrome/browser/extensions/api/identity/web_auth_flow.cc
+++ b/chrome/browser/extensions/api/identity/web_auth_flow.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/identity/web_auth_flow.h"
 
+#include <utility>
+
 #include "base/base64.h"
 #include "base/location.h"
 #include "base/message_loop/message_loop.h"
@@ -88,9 +90,9 @@
   else
     args->AppendString("silent");
 
-  scoped_ptr<Event> event(
-      new Event(events::IDENTITY_PRIVATE_ON_WEB_FLOW_REQUEST,
-                identity_private::OnWebFlowRequest::kEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(
+      events::IDENTITY_PRIVATE_ON_WEB_FLOW_REQUEST,
+      identity_private::OnWebFlowRequest::kEventName, std::move(args)));
   event->restrict_to_browser_context = profile_;
   ExtensionSystem* system = ExtensionSystem::Get(profile_);
 
@@ -103,7 +105,7 @@
   }
 
   EventRouter::Get(profile_)->DispatchEventWithLazyListener(
-      extension_misc::kIdentityApiUiAppId, event.Pass());
+      extension_misc::kIdentityApiUiAppId, std::move(event));
 }
 
 void WebAuthFlow::DetachDelegateAndDelete() {
diff --git a/chrome/browser/extensions/api/image_writer_private/operation.cc b/chrome/browser/extensions/api/image_writer_private/operation.cc
index 124fb4ea..f27b229 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation.cc
+++ b/chrome/browser/extensions/api/image_writer_private/operation.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/image_writer_private/operation.h"
 
+#include <utility>
+
 #include "base/files/file_enumerator.h"
 #include "base/files/file_util.h"
 #include "base/lazy_instance.h"
@@ -310,16 +312,10 @@
     }
   }
 
-  BrowserThread::PostTask(BrowserThread::FILE,
-                          FROM_HERE,
-                          base::Bind(&Operation::MD5Chunk,
-                                     this,
-                                     Passed(file.Pass()),
-                                     0,
-                                     file_size,
-                                     progress_offset,
-                                     progress_scale,
-                                     callback));
+  BrowserThread::PostTask(
+      BrowserThread::FILE, FROM_HERE,
+      base::Bind(&Operation::MD5Chunk, this, Passed(std::move(file)), 0,
+                 file_size, progress_offset, progress_scale, callback));
 }
 
 void Operation::MD5Chunk(
@@ -354,16 +350,11 @@
           progress_offset;
       SetProgress(percent_curr);
 
-      BrowserThread::PostTask(BrowserThread::FILE,
-                              FROM_HERE,
-                              base::Bind(&Operation::MD5Chunk,
-                                         this,
-                                         Passed(file.Pass()),
-                                         bytes_processed + len,
-                                         bytes_total,
-                                         progress_offset,
-                                         progress_scale,
-                                         callback));
+      BrowserThread::PostTask(
+          BrowserThread::FILE, FROM_HERE,
+          base::Bind(&Operation::MD5Chunk, this, Passed(std::move(file)),
+                     bytes_processed + len, bytes_total, progress_offset,
+                     progress_scale, callback));
       // Skip closing the file.
       return;
     } else {
diff --git a/chrome/browser/extensions/api/image_writer_private/operation_manager.cc b/chrome/browser/extensions/api/image_writer_private/operation_manager.cc
index 0ff7b5c..30a31a8 100644
--- a/chrome/browser/extensions/api/image_writer_private/operation_manager.cc
+++ b/chrome/browser/extensions/api/image_writer_private/operation_manager.cc
@@ -2,13 +2,16 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/api/image_writer_private/operation_manager.h"
+
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "build/build_config.h"
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/extensions/api/image_writer_private/destroy_partitions_operation.h"
 #include "chrome/browser/extensions/api/image_writer_private/error_messages.h"
 #include "chrome/browser/extensions/api/image_writer_private/operation.h"
-#include "chrome/browser/extensions/api/image_writer_private/operation_manager.h"
 #include "chrome/browser/extensions/api/image_writer_private/write_from_file_operation.h"
 #include "chrome/browser/extensions/api/image_writer_private/write_from_url_operation.h"
 #include "chrome/browser/extensions/event_router_forwarder.h"
@@ -161,24 +164,24 @@
 
   scoped_ptr<base::ListValue> args(
       image_writer_api::OnWriteProgress::Create(info));
-  scoped_ptr<Event> event(
-      new Event(events::IMAGE_WRITER_PRIVATE_ON_WRITE_PROGRESS,
-                image_writer_api::OnWriteProgress::kEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(
+      events::IMAGE_WRITER_PRIVATE_ON_WRITE_PROGRESS,
+      image_writer_api::OnWriteProgress::kEventName, std::move(args)));
 
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 void OperationManager::OnComplete(const ExtensionId& extension_id) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
 
   scoped_ptr<base::ListValue> args(image_writer_api::OnWriteComplete::Create());
-  scoped_ptr<Event> event(
-      new Event(events::IMAGE_WRITER_PRIVATE_ON_WRITE_COMPLETE,
-                image_writer_api::OnWriteComplete::kEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(
+      events::IMAGE_WRITER_PRIVATE_ON_WRITE_COMPLETE,
+      image_writer_api::OnWriteComplete::kEventName, std::move(args)));
 
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 
   DeleteOperation(extension_id);
 }
@@ -199,10 +202,10 @@
       image_writer_api::OnWriteError::Create(info, error_message));
   scoped_ptr<Event> event(new Event(events::IMAGE_WRITER_PRIVATE_ON_WRITE_ERROR,
                                     image_writer_api::OnWriteError::kEventName,
-                                    args.Pass()));
+                                    std::move(args)));
 
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 
   DeleteOperation(extension_id);
 }
diff --git a/chrome/browser/extensions/api/inline_install_private/inline_install_private_api.cc b/chrome/browser/extensions/api/inline_install_private/inline_install_private_api.cc
index d632a600..45a28d77 100644
--- a/chrome/browser/extensions/api/inline_install_private/inline_install_private_api.cc
+++ b/chrome/browser/extensions/api/inline_install_private/inline_install_private_api.cc
@@ -61,7 +61,7 @@
                           show_user_count(),
                           average_rating(),
                           rating_count());
-  return prompt.Pass();
+  return prompt;
 }
 
 
diff --git a/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc b/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc
index cfadf6f..646fab0 100644
--- a/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc
+++ b/chrome/browser/extensions/api/instance_id/instance_id_apitest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/base_switches.h"
 #include "base/macros.h"
 #include "base/memory/scoped_ptr.h"
@@ -29,7 +31,7 @@
   scoped_ptr<gcm::FakeGCMProfileService> service(
       new gcm::FakeGCMProfileService(Profile::FromBrowserContext(context)));
   service->SetDriverForTesting(new instance_id::FakeGCMDriverForInstanceID());
-  return service.Pass();
+  return std::move(service);
 }
 
 }  // namespace
diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc
index 512b108..7ab2350 100644
--- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc
+++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_api.cc
@@ -232,7 +232,7 @@
   const std::set<std::string>& words = dictionary->GetWords();
   for (const std::string& word : words)
     word_list->AppendString(word);
-  return word_list.Pass();
+  return word_list;
 }
 
 LanguageSettingsPrivateAddSpellcheckWordFunction::
diff --git a/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc b/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
index 6204394c..cca5f72 100644
--- a/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
+++ b/chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/language_settings_private/language_settings_private_delegate.h"
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -85,9 +86,9 @@
       if (dictionary->IsDownloadFailure())
         status->download_failed.reset(new bool(true));
     }
-    statuses.push_back(status.Pass());
+    statuses.push_back(std::move(status));
   }
-  return statuses.Pass();
+  return statuses;
 }
 
 void LanguageSettingsPrivateDelegate::Shutdown() {
@@ -164,8 +165,8 @@
   scoped_ptr<Event> extension_event(new Event(
       events::LANGUAGE_SETTINGS_PRIVATE_ON_CUSTOM_DICTIONARY_CHANGED,
       language_settings_private::OnCustomDictionaryChanged::kEventName,
-      args.Pass()));
-  EventRouter::Get(context_)->BroadcastEvent(extension_event.Pass());
+      std::move(args)));
+  EventRouter::Get(context_)->BroadcastEvent(std::move(extension_event));
 }
 
 void LanguageSettingsPrivateDelegate::RefreshDictionaries(
@@ -249,8 +250,8 @@
   scoped_ptr<extensions::Event> extension_event(new extensions::Event(
       events::LANGUAGE_SETTINGS_PRIVATE_ON_SPELLCHECK_DICTIONARIES_CHANGED,
       language_settings_private::OnSpellcheckDictionariesChanged::kEventName,
-      args.Pass()));
-  EventRouter::Get(context_)->BroadcastEvent(extension_event.Pass());
+      std::move(args)));
+  EventRouter::Get(context_)->BroadcastEvent(std::move(extension_event));
 }
 
 void LanguageSettingsPrivateDelegate::RemoveDictionaryObservers() {
diff --git a/chrome/browser/extensions/api/location/location_manager.cc b/chrome/browser/extensions/api/location/location_manager.cc
index 7b65616..87bd68f 100644
--- a/chrome/browser/extensions/api/location/location_manager.cc
+++ b/chrome/browser/extensions/api/location/location_manager.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/location/location_manager.h"
 
 #include <math.h>
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -336,10 +337,11 @@
     event_name = location::OnLocationError::kEventName;
   }
 
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
 
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 void LocationManager::OnExtensionLoaded(
diff --git a/chrome/browser/extensions/api/mdns/dns_sd_registry.cc b/chrome/browser/extensions/api/mdns/dns_sd_registry.cc
index 1a809ff..d07e6e4 100644
--- a/chrome/browser/extensions/api/mdns/dns_sd_registry.cc
+++ b/chrome/browser/extensions/api/mdns/dns_sd_registry.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/mdns/dns_sd_registry.h"
 
+#include <utility>
+
 #include "base/stl_util.h"
 #include "chrome/browser/extensions/api/mdns/dns_sd_device_lister.h"
 #include "chrome/browser/local_discovery/service_discovery_shared_client.h"
@@ -29,7 +31,7 @@
 
 DnsSdRegistry::ServiceTypeData::ServiceTypeData(
     scoped_ptr<DnsSdDeviceLister> lister)
-    : ref_count(1), lister_(lister.Pass()) {}
+    : ref_count(1), lister_(std::move(lister)) {}
 
 DnsSdRegistry::ServiceTypeData::~ServiceTypeData() {}
 
@@ -157,7 +159,7 @@
       this, service_type, service_discovery_client_.get()));
   dns_sd_device_lister->Discover(false);
   linked_ptr<ServiceTypeData> service_type_data(
-      new ServiceTypeData(dns_sd_device_lister.Pass()));
+      new ServiceTypeData(std::move(dns_sd_device_lister)));
   service_data_map_[service_type] = service_type_data;
   DispatchApiEvent(service_type);
 }
diff --git a/chrome/browser/extensions/api/mdns/mdns_api.cc b/chrome/browser/extensions/api/mdns/mdns_api.cc
index 477b11b..20c6610 100644
--- a/chrome/browser/extensions/api/mdns/mdns_api.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_api.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/mdns/mdns_api.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/lazy_instance.h"
@@ -63,7 +64,7 @@
 
 void MDnsAPI::SetDnsSdRegistryForTesting(
     scoped_ptr<DnsSdRegistry> dns_sd_registry) {
-  dns_sd_registry_ = dns_sd_registry.Pass();
+  dns_sd_registry_ = std::move(dns_sd_registry);
   if (dns_sd_registry_.get())
     dns_sd_registry_.get()->AddObserver(this);
 }
@@ -174,7 +175,7 @@
   scoped_ptr<base::ListValue> results = mdns::OnServiceList::Create(args);
   scoped_ptr<Event> event(new Event(events::MDNS_ON_SERVICE_LIST,
                                     mdns::OnServiceList::kEventName,
-                                    results.Pass()));
+                                    std::move(results)));
   event->restrict_to_browser_context = browser_context_;
   event->filter_info.SetServiceType(service_type);
 
@@ -182,7 +183,8 @@
   // events, modify API to have this event require filters.
   // TODO(reddaly): If event isn't on whitelist, ensure it does not get
   // broadcast to extensions.
-  extensions::EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+  extensions::EventRouter::Get(browser_context_)
+      ->BroadcastEvent(std::move(event));
 }
 
 const extensions::EventListenerMap::ListenerList& MDnsAPI::GetEventListeners() {
diff --git a/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc b/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
index db3b9790..857ae6e 100644
--- a/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_api_unittest.cc
@@ -2,13 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include <stddef.h>
+#include "chrome/browser/extensions/api/mdns/mdns_api.h"
 
+#include <stddef.h>
+#include <utility>
 #include <vector>
 
 #include "base/memory/linked_ptr.h"
 #include "base/memory/scoped_ptr.h"
-#include "chrome/browser/extensions/api/mdns/mdns_api.h"
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_service_test_base.h"
 #include "chrome/browser/extensions/test_extension_system.h"
@@ -43,7 +44,8 @@
   filter->SetString(kEventFilterServiceTypeKey, service_type);
   listener_list->push_back(make_linked_ptr(
       EventListener::ForExtension(kEventFilterServiceTypeKey, extension_id,
-                                  nullptr, filter.Pass()).release()));
+                                  nullptr, std::move(filter))
+          .release()));
 }
 
 class NullDelegate : public EventListenerMap::Delegate {
diff --git a/chrome/browser/extensions/api/mdns/mdns_apitest.cc b/chrome/browser/extensions/api/mdns/mdns_apitest.cc
index ddb9c0f..3154afc 100644
--- a/chrome/browser/extensions/api/mdns/mdns_apitest.cc
+++ b/chrome/browser/extensions/api/mdns/mdns_apitest.cc
@@ -58,7 +58,7 @@
         .Times(1);
     // Transfers ownership of the registry instance.
     api->SetDnsSdRegistryForTesting(
-        make_scoped_ptr<DnsSdRegistry>(dns_sd_registry_).Pass());
+        make_scoped_ptr<DnsSdRegistry>(dns_sd_registry_));
   }
 
  protected:
diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
index 94a5d84..ca230e2c 100644
--- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
+++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc
@@ -7,9 +7,9 @@
 #include "chrome/browser/extensions/api/media_galleries/media_galleries_api.h"
 
 #include <stddef.h>
-
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/callback.h"
@@ -349,20 +349,20 @@
 void MediaGalleriesEventRouter::OnScanStarted(const std::string& extension_id) {
   MediaGalleries::ScanProgressDetails details;
   details.type = MediaGalleries::SCAN_PROGRESS_TYPE_START;
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
-      MediaGalleries::OnScanProgress::kEventName,
-      MediaGalleries::OnScanProgress::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
+                           MediaGalleries::OnScanProgress::kEventName,
+                           MediaGalleries::OnScanProgress::Create(details));
 }
 
 void MediaGalleriesEventRouter::OnScanCancelled(
     const std::string& extension_id) {
   MediaGalleries::ScanProgressDetails details;
   details.type = MediaGalleries::SCAN_PROGRESS_TYPE_CANCEL;
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
-      MediaGalleries::OnScanProgress::kEventName,
-      MediaGalleries::OnScanProgress::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
+                           MediaGalleries::OnScanProgress::kEventName,
+                           MediaGalleries::OnScanProgress::Create(details));
 }
 
 void MediaGalleriesEventRouter::OnScanFinished(
@@ -375,20 +375,20 @@
   details.audio_count.reset(new int(file_counts.audio_count));
   details.image_count.reset(new int(file_counts.image_count));
   details.video_count.reset(new int(file_counts.video_count));
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
-      MediaGalleries::OnScanProgress::kEventName,
-      MediaGalleries::OnScanProgress::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
+                           MediaGalleries::OnScanProgress::kEventName,
+                           MediaGalleries::OnScanProgress::Create(details));
 }
 
 void MediaGalleriesEventRouter::OnScanError(
     const std::string& extension_id) {
   MediaGalleries::ScanProgressDetails details;
   details.type = MediaGalleries::SCAN_PROGRESS_TYPE_ERROR;
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
-      MediaGalleries::OnScanProgress::kEventName,
-      MediaGalleries::OnScanProgress::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_SCAN_PROGRESS,
+                           MediaGalleries::OnScanProgress::kEventName,
+                           MediaGalleries::OnScanProgress::Create(details));
 }
 
 void MediaGalleriesEventRouter::DispatchEventToExtension(
@@ -406,9 +406,9 @@
   if (!router->ExtensionHasEventListener(extension_id, event_name))
     return;
 
-  scoped_ptr<extensions::Event> event(
-      new extensions::Event(histogram_value, event_name, event_args.Pass()));
-  router->DispatchEventToExtension(extension_id, event.Pass());
+  scoped_ptr<extensions::Event> event(new extensions::Event(
+      histogram_value, event_name, std::move(event_args)));
+  router->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 void MediaGalleriesEventRouter::OnGalleryChanged(
@@ -416,10 +416,10 @@
   MediaGalleries::GalleryChangeDetails details;
   details.type = MediaGalleries::GALLERY_CHANGE_TYPE_CONTENTS_CHANGED;
   details.gallery_id = base::Uint64ToString(gallery_id);
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_GALLERY_CHANGED,
-      MediaGalleries::OnGalleryChanged::kEventName,
-      MediaGalleries::OnGalleryChanged::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_GALLERY_CHANGED,
+                           MediaGalleries::OnGalleryChanged::kEventName,
+                           MediaGalleries::OnGalleryChanged::Create(details));
 }
 
 void MediaGalleriesEventRouter::OnGalleryWatchDropped(
@@ -427,10 +427,10 @@
   MediaGalleries::GalleryChangeDetails details;
   details.type = MediaGalleries::GALLERY_CHANGE_TYPE_WATCH_DROPPED;
   details.gallery_id = gallery_id;
-  DispatchEventToExtension(
-      extension_id, events::MEDIA_GALLERIES_ON_GALLERY_CHANGED,
-      MediaGalleries::OnGalleryChanged::kEventName,
-      MediaGalleries::OnGalleryChanged::Create(details).Pass());
+  DispatchEventToExtension(extension_id,
+                           events::MEDIA_GALLERIES_ON_GALLERY_CHANGED,
+                           MediaGalleries::OnGalleryChanged::kEventName,
+                           MediaGalleries::OnGalleryChanged::Create(details));
 }
 
 void MediaGalleriesEventRouter::OnListenerRemoved(
@@ -1047,7 +1047,7 @@
   extensions::BlobHolder* holder =
       extensions::BlobHolder::FromRenderProcessHost(
           render_frame_host()->GetProcess());
-  holder->HoldBlobReference(current_blob.Pass());
+  holder->HoldBlobReference(std::move(current_blob));
 
   // Construct the next Blob if necessary.
   if (blob_uuids->size() < attached_images->size()) {
diff --git a/chrome/browser/extensions/api/messaging/message_service.cc b/chrome/browser/extensions/api/messaging/message_service.cc
index 0e4ec90..743ba0c 100644
--- a/chrome/browser/extensions/api/messaging/message_service.cc
+++ b/chrome/browser/extensions/api/messaging/message_service.cc
@@ -5,8 +5,8 @@
 #include "chrome/browser/extensions/api/messaging/message_service.h"
 
 #include <stdint.h>
-
 #include <limits>
+#include <utility>
 
 #include "base/atomic_sequence_num.h"
 #include "base/bind.h"
@@ -175,7 +175,7 @@
         include_tls_channel_id(include_tls_channel_id),
         include_guest_process_info(include_guest_process_info) {
     if (source_tab)
-      this->source_tab = source_tab.Pass();
+      this->source_tab = std::move(source_tab);
   }
 
  private:
@@ -362,7 +362,7 @@
   }
 
   scoped_ptr<OpenChannelParams> params(new OpenChannelParams(
-      source_process_id, source_tab.Pass(), source_frame_id, -1,
+      source_process_id, std::move(source_tab), source_frame_id, -1,
       -1,  // no target_tab_id/target_frame_id for connections to extensions
       nullptr, receiver_port_id, source_extension_id, target_extension_id,
       source_url, channel_name, include_tls_channel_id,
@@ -382,7 +382,7 @@
     //   enabling in incognito. In practice this means platform apps only.
     if (!is_web_connection || IncognitoInfo::IsSplitMode(target_extension) ||
         util::CanBeIncognitoEnabled(target_extension)) {
-      OnOpenChannelAllowed(params.Pass(), false);
+      OnOpenChannelAllowed(std::move(params), false);
       return;
     }
 
@@ -400,7 +400,7 @@
           event_router->ExtensionHasEventListener(target_extension_id, *event);
     }
     if (!has_event_listener) {
-      OnOpenChannelAllowed(params.Pass(), false);
+      OnOpenChannelAllowed(std::move(params), false);
       return;
     }
 
@@ -412,7 +412,7 @@
     return;
   }
 
-  OnOpenChannelAllowed(params.Pass(), true);
+  OnOpenChannelAllowed(std::move(params), true);
 }
 
 void MessageService::OpenChannelToNativeApp(
@@ -481,7 +481,7 @@
     return;
   }
   channel->receiver.reset(new NativeMessagePort(
-      weak_factory_.GetWeakPtr(), receiver_port_id, native_host.Pass()));
+      weak_factory_.GetWeakPtr(), receiver_port_id, std::move(native_host)));
 
   // Keep the opener alive until the channel is closed.
   channel->opener->IncrementLazyKeepaliveCount();
@@ -565,7 +565,7 @@
       channel_name,
       false,    // Connections to tabs don't get TLS channel IDs.
       false));  // Connections to tabs aren't webview guests.
-  OpenChannelImpl(contents->GetBrowserContext(), params.Pass(), extension,
+  OpenChannelImpl(contents->GetBrowserContext(), std::move(params), extension,
                   false /* did_enqueue */);
 }
 
@@ -611,11 +611,11 @@
   // Send the connect event to the receiver.  Give it the opener's port ID (the
   // opener has the opposite port ID).
   channel->receiver->DispatchOnConnect(
-      params->receiver_port_id, params->channel_name, params->source_tab.Pass(),
-      params->source_frame_id, params->target_tab_id, params->target_frame_id,
-      guest_process_id, guest_render_frame_routing_id,
-      params->source_extension_id, params->target_extension_id,
-      params->source_url, params->tls_channel_id);
+      params->receiver_port_id, params->channel_name,
+      std::move(params->source_tab), params->source_frame_id,
+      params->target_tab_id, params->target_frame_id, guest_process_id,
+      guest_render_frame_routing_id, params->source_extension_id,
+      params->target_extension_id, params->source_url, params->tls_channel_id);
 
   // Report the event to the event router, if the target is an extension.
   //
@@ -933,7 +933,7 @@
   // page.
   if (!MaybeAddPendingLazyBackgroundPageOpenChannelTask(
           context, target_extension, &params, pending_messages)) {
-    OpenChannelImpl(context, params.Pass(), target_extension,
+    OpenChannelImpl(context, std::move(params), target_extension,
                     false /* did_enqueue */);
     DispatchPendingMessages(pending_messages, channel_id);
   }
@@ -975,7 +975,7 @@
 
   if (!MaybeAddPendingLazyBackgroundPageOpenChannelTask(
           context, target_extension, &params, pending_messages)) {
-    OpenChannelImpl(context, params.Pass(), target_extension,
+    OpenChannelImpl(context, std::move(params), target_extension,
                     false /* did_enqueue */);
     DispatchPendingMessages(pending_messages, channel_id);
   }
@@ -993,7 +993,7 @@
   params->receiver.reset(new ExtensionMessagePort(host->render_process_host(),
                                                   MSG_ROUTING_CONTROL,
                                                   params->target_extension_id));
-  OpenChannelImpl(host->browser_context(), params.Pass(), host->extension(),
+  OpenChannelImpl(host->browser_context(), std::move(params), host->extension(),
                   true /* did_enqueue */);
 }
 
diff --git a/chrome/browser/extensions/api/messaging/native_message_port.cc b/chrome/browser/extensions/api/messaging/native_message_port.cc
index 8d26d306..51e8478c 100644
--- a/chrome/browser/extensions/api/messaging/native_message_port.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_port.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/messaging/native_message_port.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/single_thread_task_runner.h"
 #include "base/thread_task_runner_handle.h"
@@ -43,7 +45,7 @@
     scoped_ptr<NativeMessageHost> host,
     base::WeakPtr<NativeMessagePort> port,
     scoped_refptr<base::SingleThreadTaskRunner> message_service_task_runner)
-    : host_(host.Pass()),
+    : host_(std::move(host)),
       port_(port),
       message_service_task_runner_(message_service_task_runner),
       host_task_runner_(host_->task_runner()) {
@@ -90,7 +92,7 @@
       host_task_runner_(native_message_host->task_runner()),
       port_id_(port_id),
       weak_factory_(this) {
-  core_.reset(new Core(native_message_host.Pass(),
+  core_.reset(new Core(std::move(native_message_host),
                        weak_factory_.GetWeakPtr(),
                        base::ThreadTaskRunnerHandle::Get()));
 }
diff --git a/chrome/browser/extensions/api/messaging/native_message_process_host.cc b/chrome/browser/extensions/api/messaging/native_message_process_host.cc
index 46e113a..691c270 100644
--- a/chrome/browser/extensions/api/messaging/native_message_process_host.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_process_host.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file_path.h"
@@ -48,7 +49,7 @@
     : client_(NULL),
       source_extension_id_(source_extension_id),
       native_host_name_(native_host_name),
-      launcher_(launcher.Pass()),
+      launcher_(std::move(launcher)),
       closed_(false),
 #if defined(OS_POSIX)
       read_file_(-1),
@@ -74,7 +75,7 @@
         FROM_HERE,
         base::Bind(&base::EnsureProcessTerminated, Passed(&process_)));
 #else
-    base::EnsureProcessTerminated(process_.Pass());
+    base::EnsureProcessTerminated(std::move(process_));
 #endif
   }
 }
@@ -99,12 +100,10 @@
     scoped_ptr<NativeProcessLauncher> launcher) {
   DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
 
-  scoped_ptr<NativeMessageHost> process(
-      new NativeMessageProcessHost(source_extension_id,
-                                   native_host_name,
-                                   launcher.Pass()));
+  scoped_ptr<NativeMessageHost> process(new NativeMessageProcessHost(
+      source_extension_id, native_host_name, std::move(launcher)));
 
-  return process.Pass();
+  return process;
 }
 
 void NativeMessageProcessHost::LaunchHostProcess() {
@@ -140,7 +139,7 @@
       break;
   }
 
-  process_ = process.Pass();
+  process_ = std::move(process);
 #if defined(OS_POSIX)
   // This object is not the owner of the file so it should not keep an fd.
   read_file_ = read_file.GetPlatformFile();
@@ -151,8 +150,8 @@
           GetTaskRunnerWithShutdownBehavior(
               base::SequencedWorkerPool::SKIP_ON_SHUTDOWN));
 
-  read_stream_.reset(new net::FileStream(read_file.Pass(), task_runner));
-  write_stream_.reset(new net::FileStream(write_file.Pass(), task_runner));
+  read_stream_.reset(new net::FileStream(std::move(read_file), task_runner));
+  write_stream_.reset(new net::FileStream(std::move(write_file), task_runner));
 
   WaitRead();
   DoWrite();
diff --git a/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc b/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
index 4bf62d8..800fd74 100644
--- a/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
+++ b/chrome/browser/extensions/api/messaging/native_message_process_host_unittest.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file.h"
@@ -53,9 +54,7 @@
 class FakeLauncher : public NativeProcessLauncher {
  public:
   FakeLauncher(base::File read_file, base::File write_file)
-      : read_file_(read_file.Pass()),
-        write_file_(write_file.Pass()) {
-  }
+      : read_file_(std::move(read_file)), write_file_(std::move(write_file)) {}
 
   static scoped_ptr<NativeProcessLauncher> Create(base::FilePath read_file,
                                                   base::FilePath write_file) {
@@ -79,15 +78,14 @@
 #endif
 
     return scoped_ptr<NativeProcessLauncher>(new FakeLauncher(
-        read_pipe.Pass(),
-        base::File(write_file, write_flags)));
+        std::move(read_pipe), base::File(write_file, write_flags)));
   }
 
   void Launch(const GURL& origin,
               const std::string& native_host_name,
               const LaunchedCallback& callback) const override {
-    callback.Run(NativeProcessLauncher::RESULT_SUCCESS,
-                 base::Process(), read_file_.Pass(), write_file_.Pass());
+    callback.Run(NativeProcessLauncher::RESULT_SUCCESS, base::Process(),
+                 std::move(read_file_), std::move(write_file_));
   }
 
  private:
@@ -121,7 +119,7 @@
     scoped_ptr<base::DictionaryValue> dict_value =
         base::DictionaryValue::From(base::JSONReader::Read(message));
     if (dict_value) {
-      last_message_parsed_ = dict_value.Pass();
+      last_message_parsed_ = std::move(dict_value);
     } else {
       LOG(ERROR) << "Failed to parse " << message;
       last_message_parsed_.reset();
@@ -176,11 +174,10 @@
   ASSERT_FALSE(temp_input_file.empty());
 
   scoped_ptr<NativeProcessLauncher> launcher =
-      FakeLauncher::Create(temp_input_file, temp_output_file).Pass();
+      FakeLauncher::Create(temp_input_file, temp_output_file);
   native_message_host_ = NativeMessageProcessHost::CreateWithLauncher(
-      ScopedTestNativeMessagingHost::kExtensionId,
-      "empty_app.py",
-      launcher.Pass());
+      ScopedTestNativeMessagingHost::kExtensionId, "empty_app.py",
+      std::move(launcher));
   native_message_host_->Start(this);
   ASSERT_TRUE(native_message_host_.get());
   run_loop_.reset(new base::RunLoop());
@@ -225,12 +222,10 @@
 #endif  // !defined(OS_WIN)
 
   scoped_ptr<NativeProcessLauncher> launcher =
-      FakeLauncher::CreateWithPipeInput(read_file.Pass(),
-                                        temp_output_file).Pass();
+      FakeLauncher::CreateWithPipeInput(std::move(read_file), temp_output_file);
   native_message_host_ = NativeMessageProcessHost::CreateWithLauncher(
-      ScopedTestNativeMessagingHost::kExtensionId,
-      "empty_app.py",
-      launcher.Pass());
+      ScopedTestNativeMessagingHost::kExtensionId, "empty_app.py",
+      std::move(launcher));
   native_message_host_->Start(this);
   ASSERT_TRUE(native_message_host_.get());
   base::RunLoop().RunUntilIdle();
diff --git a/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.cc b/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.cc
index 32c73310..34e87c2c 100644
--- a/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.cc
+++ b/chrome/browser/extensions/api/messaging/native_messaging_host_manifest.cc
@@ -64,7 +64,7 @@
     return scoped_ptr<NativeMessagingHostManifest>();
   }
 
-  return result.Pass();
+  return result;
 }
 
 NativeMessagingHostManifest::NativeMessagingHostManifest() {
diff --git a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
index 170ca99..ad0ab658 100644
--- a/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
+++ b/chrome/browser/extensions/api/messaging/native_messaging_policy_handler.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/messaging/native_messaging_policy_handler.h"
 
+#include <utility>
+
 #include "base/logging.h"
 #include "base/prefs/pref_value_map.h"
 #include "chrome/browser/extensions/api/messaging/native_messaging_host_manifest.h"
@@ -37,7 +39,7 @@
   scoped_ptr<base::ListValue> list;
   policy::PolicyErrorMap errors;
   if (CheckAndGetList(policies, &errors, &list) && list)
-    prefs->SetValue(pref_path(), list.Pass());
+    prefs->SetValue(pref_path(), std::move(list));
 }
 
 const char* NativeMessagingHostListPolicyHandler::pref_path() const {
@@ -84,7 +86,7 @@
   }
 
   if (names)
-    *names = filtered_list.Pass();
+    *names = std::move(filtered_list);
 
   return true;
 }
diff --git a/chrome/browser/extensions/api/messaging/native_process_launcher.cc b/chrome/browser/extensions/api/messaging/native_process_launcher.cc
index 74650e9..a60b166 100644
--- a/chrome/browser/extensions/api/messaging/native_process_launcher.cc
+++ b/chrome/browser/extensions/api/messaging/native_process_launcher.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/messaging/native_process_launcher.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/callback.h"
 #include "base/command_line.h"
@@ -198,7 +200,8 @@
   base::File write_file;
   if (NativeProcessLauncher::LaunchNativeProcess(
           command_line, &process, &read_file, &write_file)) {
-    PostResult(callback, process.Pass(), read_file.Pass(), write_file.Pass());
+    PostResult(callback, std::move(process), std::move(read_file),
+               std::move(write_file));
   } else {
     PostErrorResult(callback, RESULT_FAILED_TO_START);
   }
@@ -214,7 +217,8 @@
   if (detached_)
     return;
 
-  callback.Run(result, process.Pass(), read_file.Pass(), write_file.Pass());
+  callback.Run(result, std::move(process), std::move(read_file),
+               std::move(write_file));
 }
 
 void NativeProcessLauncherImpl::Core::PostErrorResult(
diff --git a/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc b/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc
index 2297686..3b62003 100644
--- a/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc
+++ b/chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/messaging/native_process_launcher.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/files/file_util.h"
 #include "base/files/scoped_file.h"
@@ -91,7 +93,7 @@
   write_pipe_read_fd.reset();
   read_pipe_write_fd.reset();
 
-  *process = local_process.Pass();
+  *process = std::move(local_process);
   *read_file = base::File(read_pipe_read_fd.release());
   *write_file = base::File(write_pipe_write_fd.release());
 
diff --git a/chrome/browser/extensions/api/omnibox/omnibox_api.cc b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
index c44382e..a2eeb58 100644
--- a/chrome/browser/extensions/api/omnibox/omnibox_api.cc
+++ b/chrome/browser/extensions/api/omnibox/omnibox_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/omnibox/omnibox_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/strings/string16.h"
@@ -66,7 +67,7 @@
     suggestion.reset(new omnibox::SuggestResult);
     omnibox::SuggestResult::Populate(*dict, suggestion.get());
   }
-  return suggestion.Pass();
+  return suggestion;
 }
 
 // Tries to set the omnibox default suggestion; returns true on success or
@@ -107,7 +108,7 @@
                                     make_scoped_ptr(new base::ListValue())));
   event->restrict_to_browser_context = profile;
   EventRouter::Get(profile)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 // static
@@ -125,9 +126,9 @@
 
   scoped_ptr<Event> event(new Event(events::OMNIBOX_ON_INPUT_CHANGED,
                                     omnibox::OnInputChanged::kEventName,
-                                    args.Pass()));
+                                    std::move(args)));
   event->restrict_to_browser_context = profile;
-  event_router->DispatchEventToExtension(extension_id, event.Pass());
+  event_router->DispatchEventToExtension(extension_id, std::move(event));
   return true;
 }
 
@@ -158,10 +159,10 @@
 
   scoped_ptr<Event> event(new Event(events::OMNIBOX_ON_INPUT_ENTERED,
                                     omnibox::OnInputEntered::kEventName,
-                                    args.Pass()));
+                                    std::move(args)));
   event->restrict_to_browser_context = profile;
   EventRouter::Get(profile)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 
   content::NotificationService::current()->Notify(
       extensions::NOTIFICATION_EXTENSION_OMNIBOX_INPUT_ENTERED,
@@ -177,7 +178,7 @@
                                     make_scoped_ptr(new base::ListValue())));
   event->restrict_to_browser_context = profile;
   EventRouter::Get(profile)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 OmniboxAPI::OmniboxAPI(content::BrowserContext* context)
diff --git a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
index c5565a1..dfd7abb 100644
--- a/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
+++ b/chrome/browser/extensions/api/passwords_private/passwords_private_event_router.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/passwords_private/passwords_private_event_router.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -86,7 +87,7 @@
       new Event(events::PASSWORDS_PRIVATE_ON_SAVED_PASSWORDS_LIST_CHANGED,
                 api::passwords_private::OnSavedPasswordsListChanged::kEventName,
                 cached_saved_password_parameters_->CreateDeepCopy()));
-  event_router_->BroadcastEvent(extension_event.Pass());
+  event_router_->BroadcastEvent(std::move(extension_event));
 }
 
 void PasswordsPrivateEventRouter::OnPasswordExceptionsListChanged(
@@ -106,7 +107,7 @@
       events::PASSWORDS_PRIVATE_ON_PASSWORD_EXCEPTIONS_LIST_CHANGED,
       api::passwords_private::OnPasswordExceptionsListChanged::kEventName,
       cached_password_exception_parameters_->CreateDeepCopy()));
-  event_router_->BroadcastEvent(extension_event.Pass());
+  event_router_->BroadcastEvent(std::move(extension_event));
 }
 
 void PasswordsPrivateEventRouter::OnPlaintextPasswordFetched(
@@ -124,8 +125,8 @@
   scoped_ptr<Event> extension_event(new Event(
       events::PASSWORDS_PRIVATE_ON_PLAINTEXT_PASSWORD_RETRIEVED,
       api::passwords_private::OnPlaintextPasswordRetrieved::kEventName,
-      event_value.Pass()));
-  event_router_->BroadcastEvent(extension_event.Pass());
+      std::move(event_value)));
+  event_router_->BroadcastEvent(std::move(extension_event));
 }
 
 void PasswordsPrivateEventRouter::StartOrStopListeningForChanges() {
diff --git a/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc b/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
index 39673f7..22c3b41c 100644
--- a/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
+++ b/chrome/browser/extensions/api/permissions/permissions_api_helpers.cc
@@ -60,7 +60,7 @@
   for (const URLPattern& pattern : set.explicit_hosts())
     permissions->origins->push_back(pattern.GetAsString());
 
-  return permissions.Pass();
+  return permissions;
 }
 
 scoped_ptr<const PermissionSet> UnpackPermissionSet(
diff --git a/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc b/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc
index 4bf9a44..f033ad1 100644
--- a/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc
+++ b/chrome/browser/extensions/api/preference/chrome_direct_setting_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/preference/chrome_direct_setting_api.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/containers/hash_tables.h"
 #include "base/lazy_instance.h"
@@ -158,8 +160,8 @@
         events::HistogramValue histogram_value =
             events::TYPES_PRIVATE_CHROME_DIRECT_SETTING_ON_CHANGE;
         scoped_ptr<Event> event(
-            new Event(histogram_value, event_name, args_copy.Pass()));
-        router->DispatchEventToExtension(extension_id, event.Pass());
+            new Event(histogram_value, event_name, std::move(args_copy)));
+        router->DispatchEventToExtension(extension_id, std::move(event));
       }
     }
   }
diff --git a/chrome/browser/extensions/api/preference/preference_helpers.cc b/chrome/browser/extensions/api/preference/preference_helpers.cc
index 7993e39c..55128f0 100644
--- a/chrome/browser/extensions/api/preference/preference_helpers.cc
+++ b/chrome/browser/extensions/api/preference/preference_helpers.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/preference/preference_helpers.h"
 
+#include <utility>
+
 #include "base/json/json_writer.h"
 #include "base/prefs/pref_service.h"
 #include "base/values.h"
@@ -127,9 +129,9 @@
 
       scoped_ptr<base::ListValue> args_copy(args->DeepCopy());
       scoped_ptr<Event> event(
-          new Event(histogram_value, event_name, args_copy.Pass()));
+          new Event(histogram_value, event_name, std::move(args_copy)));
       event->restrict_to_browser_context = restrict_to_profile;
-      router->DispatchEventToExtension(extension->id(), event.Pass());
+      router->DispatchEventToExtension(extension->id(), std::move(event));
     }
   }
 }
diff --git a/chrome/browser/extensions/api/processes/processes_api.cc b/chrome/browser/extensions/api/processes/processes_api.cc
index 3ca88b56..4b6a14c 100644
--- a/chrome/browser/extensions/api/processes/processes_api.cc
+++ b/chrome/browser/extensions/api/processes/processes_api.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/callback.h"
 #include "base/json/json_writer.h"
@@ -315,7 +316,8 @@
 
   args->Append(process);
 
-  DispatchEvent(events::PROCESSES_ON_CREATED, keys::kOnCreated, args.Pass());
+  DispatchEvent(events::PROCESSES_ON_CREATED, keys::kOnCreated,
+                std::move(args));
 #endif  // defined(ENABLE_TASK_MANAGER)
 }
 
@@ -363,7 +365,8 @@
 
     scoped_ptr<base::ListValue> args(new base::ListValue());
     args->Append(processes);
-    DispatchEvent(events::PROCESSES_ON_UPDATED, keys::kOnUpdated, args.Pass());
+    DispatchEvent(events::PROCESSES_ON_UPDATED, keys::kOnUpdated,
+                  std::move(args));
   }
 
   if (updated_memory) {
@@ -383,7 +386,7 @@
     scoped_ptr<base::ListValue> args(new base::ListValue());
     args->Append(processes);
     DispatchEvent(events::PROCESSES_ON_UPDATED_WITH_MEMORY,
-                  keys::kOnUpdatedWithMemory, args.Pass());
+                  keys::kOnUpdatedWithMemory, std::move(args));
   }
 #endif  // defined(ENABLE_TASK_MANAGER)
 }
@@ -412,7 +415,7 @@
   // Third arg: The exit code for the process.
   args->Append(new base::FundamentalValue(0));
 
-  DispatchEvent(events::PROCESSES_ON_EXITED, keys::kOnExited, args.Pass());
+  DispatchEvent(events::PROCESSES_ON_EXITED, keys::kOnExited, std::move(args));
 #endif  // defined(ENABLE_TASK_MANAGER)
 }
 
@@ -442,7 +445,7 @@
   args->Append(process);
 
   DispatchEvent(events::PROCESSES_ON_UNRESPONSIVE, keys::kOnUnresponsive,
-                args.Pass());
+                std::move(args));
 #endif  // defined(ENABLE_TASK_MANAGER)
 }
 
@@ -462,7 +465,7 @@
   // Third arg: The exit code for the process.
   args->Append(new base::FundamentalValue(details->exit_code));
 
-  DispatchEvent(events::PROCESSES_ON_EXITED, keys::kOnExited, args.Pass());
+  DispatchEvent(events::PROCESSES_ON_EXITED, keys::kOnExited, std::move(args));
 #endif  // defined(ENABLE_TASK_MANAGER)
 }
 
@@ -473,8 +476,8 @@
   EventRouter* event_router = EventRouter::Get(browser_context_);
   if (event_router) {
     scoped_ptr<Event> event(
-        new Event(histogram_value, event_name, event_args.Pass()));
-    event_router->BroadcastEvent(event.Pass());
+        new Event(histogram_value, event_name, std::move(event_args)));
+    event_router->BroadcastEvent(std::move(event));
   }
 }
 
diff --git a/chrome/browser/extensions/api/proxy/proxy_api.cc b/chrome/browser/extensions/api/proxy/proxy_api.cc
index 14850070..adbc9306 100644
--- a/chrome/browser/extensions/api/proxy/proxy_api.cc
+++ b/chrome/browser/extensions/api/proxy/proxy_api.cc
@@ -6,6 +6,8 @@
 
 #include "chrome/browser/extensions/api/proxy/proxy_api.h"
 
+#include <utility>
+
 #include "base/json/json_writer.h"
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
@@ -45,13 +47,13 @@
   args->Append(dict);
 
   if (profile) {
-    event_router->DispatchEventToRenderers(events::PROXY_ON_PROXY_ERROR,
-                                           keys::kProxyEventOnProxyError,
-                                           args.Pass(), profile, true, GURL());
+    event_router->DispatchEventToRenderers(
+        events::PROXY_ON_PROXY_ERROR, keys::kProxyEventOnProxyError,
+        std::move(args), profile, true, GURL());
   } else {
     event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR,
                                             keys::kProxyEventOnProxyError,
-                                            args.Pass(), GURL());
+                                            std::move(args), GURL());
   }
 }
 
@@ -77,13 +79,13 @@
   args->Append(dict);
 
   if (profile) {
-    event_router->DispatchEventToRenderers(events::PROXY_ON_PROXY_ERROR,
-                                           keys::kProxyEventOnProxyError,
-                                           args.Pass(), profile, true, GURL());
+    event_router->DispatchEventToRenderers(
+        events::PROXY_ON_PROXY_ERROR, keys::kProxyEventOnProxyError,
+        std::move(args), profile, true, GURL());
   } else {
     event_router->BroadcastEventToRenderers(events::PROXY_ON_PROXY_ERROR,
                                             keys::kProxyEventOnProxyError,
-                                            args.Pass(), GURL());
+                                            std::move(args), GURL());
   }
 }
 
diff --git a/chrome/browser/extensions/api/resources_private/resources_private_api.cc b/chrome/browser/extensions/api/resources_private/resources_private_api.cc
index eaf0d22..1aed8116 100644
--- a/chrome/browser/extensions/api/resources_private/resources_private_api.cc
+++ b/chrome/browser/extensions/api/resources_private/resources_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/resources_private/resources_private_api.h"
 
 #include <string>
+#include <utility>
 
 #include "base/values.h"
 #include "chrome/browser/browser_process.h"
@@ -79,7 +80,7 @@
   const std::string& app_locale = g_browser_process->GetApplicationLocale();
   webui::SetLoadTimeDataDefaults(app_locale, dict.get());
 
-  return RespondNow(OneArgument(dict.Pass()));
+  return RespondNow(OneArgument(std::move(dict)));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc
index e63932b..33cef86 100644
--- a/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc
+++ b/chrome/browser/extensions/api/screenlock_private/screenlock_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/screenlock_private/screenlock_private_api.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "base/values.h"
 #include "chrome/browser/profiles/profile.h"
@@ -136,8 +138,9 @@
   scoped_ptr<base::ListValue> args(new base::ListValue());
   if (arg)
     args->Append(arg);
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
-  EventRouter::Get(browser_context_)->BroadcastEvent(event.Pass());
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
+  EventRouter::Get(browser_context_)->BroadcastEvent(std::move(event));
 }
 
 static base::LazyInstance<
@@ -167,8 +170,8 @@
 
   scoped_ptr<Event> event(
       new Event(events::SCREENLOCK_PRIVATE_ON_AUTH_ATTEMPTED,
-                screenlock::OnAuthAttempted::kEventName, args.Pass()));
-  router->BroadcastEvent(event.Pass());
+                screenlock::OnAuthAttempted::kEventName, std::move(args)));
+  router->BroadcastEvent(std::move(event));
   return true;
 }
 
diff --git a/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc b/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc
index 4fb8ecb..e551b62 100644
--- a/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc
+++ b/chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/search_engines_private/search_engines_private_event_router.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -99,10 +100,11 @@
 
   scoped_ptr<base::ListValue> args(
       search_engines_private::OnSearchEnginesChanged::Create(engines));
-  scoped_ptr<Event> extension_event(new Event(
-      events::SEARCH_ENGINES_PRIVATE_ON_SEARCH_ENGINES_CHANGED,
-      search_engines_private::OnSearchEnginesChanged::kEventName, args.Pass()));
-  EventRouter::Get(context_)->BroadcastEvent(extension_event.Pass());
+  scoped_ptr<Event> extension_event(
+      new Event(events::SEARCH_ENGINES_PRIVATE_ON_SEARCH_ENGINES_CHANGED,
+                search_engines_private::OnSearchEnginesChanged::kEventName,
+                std::move(args)));
+  EventRouter::Get(context_)->BroadcastEvent(std::move(extension_event));
 }
 
 void SearchEnginesPrivateEventRouter::
diff --git a/chrome/browser/extensions/api/sessions/sessions_api.cc b/chrome/browser/extensions/api/sessions/sessions_api.cc
index e4146f85..6d6810a2 100644
--- a/chrome/browser/extensions/api/sessions/sessions_api.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_api.cc
@@ -5,7 +5,7 @@
 #include "chrome/browser/extensions/api/sessions/sessions_api.h"
 
 #include <stddef.h>
-
+#include <utility>
 #include <vector>
 
 #include "base/i18n/rtl.h"
@@ -108,7 +108,7 @@
   // foreground).
   tab_struct->active = index == selected_index;
   ExtensionTabUtil::ScrubTabForExtension(extension, tab_struct.get());
-  return tab_struct.Pass();
+  return tab_struct;
 }
 
 scoped_ptr<windows::Window> CreateWindowModelHelper(
@@ -117,14 +117,14 @@
     const windows::WindowType& type,
     const windows::WindowState& state) {
   scoped_ptr<windows::Window> window_struct(new windows::Window);
-  window_struct->tabs = tabs.Pass();
+  window_struct->tabs = std::move(tabs);
   window_struct->session_id.reset(new std::string(session_id));
   window_struct->incognito = false;
   window_struct->always_on_top = false;
   window_struct->focused = false;
   window_struct->type = type;
   window_struct->state = state;
-  return window_struct.Pass();
+  return window_struct;
 }
 
 scoped_ptr<api::sessions::Session> CreateSessionModelHelper(
@@ -134,12 +134,12 @@
   scoped_ptr<api::sessions::Session> session_struct(new api::sessions::Session);
   session_struct->last_modified = last_modified;
   if (tab)
-    session_struct->tab = tab.Pass();
+    session_struct->tab = std::move(tab);
   else if (window)
-    session_struct->window = window.Pass();
+    session_struct->window = std::move(window);
   else
     NOTREACHED();
-  return session_struct.Pass();
+  return session_struct;
 }
 
 bool is_tab_entry(const sessions::TabRestoreService::Entry* entry) {
@@ -177,7 +177,7 @@
                        window.selected_tab_index).release()));
   }
 
-  return CreateWindowModelHelper(tabs.Pass(), base::IntToString(session_id),
+  return CreateWindowModelHelper(std::move(tabs), base::IntToString(session_id),
                                  windows::WINDOW_TYPE_NORMAL,
                                  windows::WINDOW_STATE_NORMAL);
 }
@@ -201,9 +201,8 @@
     default:
       NOTREACHED();
   }
-  return CreateSessionModelHelper(entry->timestamp.ToTimeT(),
-                                  tab.Pass(),
-                                  window.Pass());
+  return CreateSessionModelHelper(entry->timestamp.ToTimeT(), std::move(tab),
+                                  std::move(window));
 }
 
 bool SessionsGetRecentlyClosedFunction::RunSync() {
@@ -327,7 +326,7 @@
   }
 
   scoped_ptr<windows::Window> window_struct(
-      CreateWindowModelHelper(tabs.Pass(), session_id, type, state));
+      CreateWindowModelHelper(std::move(tabs), session_id, type, state));
   // TODO(dwankri): Dig deeper to resolve bounds not being optional, so closed
   // windows in GetRecentlyClosed can have set values in Window helper.
   window_struct->left.reset(new int(window.bounds.x()));
@@ -335,7 +334,7 @@
   window_struct->width.reset(new int(window.bounds.width()));
   window_struct->height.reset(new int(window.bounds.height()));
 
-  return window_struct.Pass();
+  return window_struct;
 }
 
 scoped_ptr<api::sessions::Session>
@@ -346,9 +345,9 @@
   // There is a chance that after pruning uninteresting tabs the window will be
   // empty.
   return !window_model ? scoped_ptr<api::sessions::Session>()
-      : CreateSessionModelHelper(window.timestamp.ToTimeT(),
-                                 scoped_ptr<tabs::Tab>(),
-                                 window_model.Pass());
+                       : CreateSessionModelHelper(window.timestamp.ToTimeT(),
+                                                  scoped_ptr<tabs::Tab>(),
+                                                  std::move(window_model));
 }
 
 scoped_ptr<api::sessions::Device> SessionsGetDevicesFunction::CreateDeviceModel(
@@ -374,7 +373,7 @@
       device_struct->sessions.push_back(make_linked_ptr(
           session_model.release()));
   }
-  return device_struct.Pass();
+  return device_struct;
 }
 
 bool SessionsGetDevicesFunction::RunSync() {
@@ -423,10 +422,9 @@
   scoped_ptr<base::DictionaryValue> tab_value(
       ExtensionTabUtil::CreateTabValue(contents, extension()));
   scoped_ptr<tabs::Tab> tab(tabs::Tab::FromValue(*tab_value));
-  scoped_ptr<api::sessions::Session> restored_session(CreateSessionModelHelper(
-      base::Time::Now().ToTimeT(),
-      tab.Pass(),
-      scoped_ptr<windows::Window>()));
+  scoped_ptr<api::sessions::Session> restored_session(
+      CreateSessionModelHelper(base::Time::Now().ToTimeT(), std::move(tab),
+                               scoped_ptr<windows::Window>()));
   results_ = Restore::Results::Create(*restored_session);
 }
 
@@ -441,9 +439,7 @@
   scoped_ptr<windows::Window> window(windows::Window::FromValue(
       *window_value));
   results_ = Restore::Results::Create(*CreateSessionModelHelper(
-      base::Time::Now().ToTimeT(),
-      scoped_ptr<tabs::Tab>(),
-      window.Pass()));
+      base::Time::Now().ToTimeT(), scoped_ptr<tabs::Tab>(), std::move(window)));
   return true;
 }
 
@@ -632,7 +628,7 @@
   scoped_ptr<base::ListValue> args(new base::ListValue());
   EventRouter::Get(profile_)->BroadcastEvent(make_scoped_ptr(
       new Event(events::SESSIONS_ON_CHANGED,
-                api::sessions::OnChanged::kEventName, args.Pass())));
+                api::sessions::OnChanged::kEventName, std::move(args))));
 }
 
 void SessionsEventRouter::TabRestoreServiceDestroyed(
diff --git a/chrome/browser/extensions/api/sessions/sessions_apitest.cc b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
index 221a5f1d..22c4c82 100644
--- a/chrome/browser/extensions/api/sessions/sessions_apitest.cc
+++ b/chrome/browser/extensions/api/sessions/sessions_apitest.cc
@@ -2,9 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/extensions/api/sessions/sessions_api.h"
-
 #include <stddef.h>
+#include <utility>
 
 #include "base/command_line.h"
 #include "base/macros.h"
@@ -12,6 +11,7 @@
 #include "base/strings/pattern.h"
 #include "base/strings/stringprintf.h"
 #include "build/build_config.h"
+#include "chrome/browser/extensions/api/sessions/sessions_api.h"
 #include "chrome/browser/extensions/api/tabs/tabs_api.h"
 #include "chrome/browser/extensions/extension_apitest.h"
 #include "chrome/browser/extensions/extension_function_test_utils.h"
@@ -148,7 +148,7 @@
           make_scoped_ptr(new browser_sync::ChromeSyncClient(profile)),
           profile));
   static_cast<browser_sync::ChromeSyncClient*>(sync_service->GetSyncClient())
-      ->SetSyncApiComponentFactoryForTesting(factory.Pass());
+      ->SetSyncApiComponentFactoryForTesting(std::move(factory));
   return make_scoped_ptr(sync_service);
 }
 
diff --git a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
index 51e3e95c..1fe7998 100644
--- a/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
+++ b/chrome/browser/extensions/api/settings_overrides/settings_overrides_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/settings_overrides/settings_overrides_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/strings/utf_string_conversions.h"
@@ -276,7 +277,8 @@
   TemplateURLData data = ConvertSearchProvider(
       profile_->GetPrefs(), *settings->search_engine, install_parameter);
   data.show_in_default_list = info->wants_to_be_default_engine;
-  url_service_->AddExtensionControlledTURL(new TemplateURL(data), info.Pass());
+  url_service_->AddExtensionControlledTURL(new TemplateURL(data),
+                                           std::move(info));
 }
 
 template <>
diff --git a/chrome/browser/extensions/api/settings_private/prefs_util.cc b/chrome/browser/extensions/api/settings_private/prefs_util.cc
index 8e7abe0..cb9ad421 100644
--- a/chrome/browser/extensions/api/settings_private/prefs_util.cc
+++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc
@@ -256,7 +256,7 @@
   pref_object->value.reset(value->DeepCopy());
 #endif
 
-  return pref_object.Pass();
+  return pref_object;
 }
 
 scoped_ptr<settings_private::PrefObject> PrefsUtil::GetPref(
@@ -302,7 +302,7 @@
         settings_private::PolicySource::POLICY_SOURCE_USER_POLICY;
     pref_object->policy_enforcement =
         settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
-    return pref_object.Pass();
+    return pref_object;
   }
   if (pref && pref->IsRecommended()) {
     pref_object->policy_source =
@@ -311,7 +311,7 @@
         settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_RECOMMENDED;
     pref_object->recommended_value.reset(
         pref->GetRecommendedValue()->DeepCopy());
-    return pref_object.Pass();
+    return pref_object;
   }
 
 #if defined(OS_CHROMEOS)
@@ -343,16 +343,16 @@
           settings_private::PolicyEnforcement::POLICY_ENFORCEMENT_ENFORCED;
       pref_object->extension_id.reset(new std::string(extension_id));
       pref_object->policy_source_name.reset(new std::string(extension->name()));
-      return pref_object.Pass();
+      return pref_object;
     }
   }
   if (pref && (!pref->IsUserModifiable() || IsPrefSupervisorControlled(name))) {
     // TODO(stevenjb): Investigate whether either of these should be badged.
     pref_object->read_only.reset(new bool(true));
-    return pref_object.Pass();
+    return pref_object;
   }
 
-  return pref_object.Pass();
+  return pref_object;
 }
 
 PrefsUtil::SetPrefResult PrefsUtil::SetPref(const std::string& pref_name,
diff --git a/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc b/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
index a69ad8c..d2042fb 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_delegate.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/settings_private/settings_private_delegate.h"
 
+#include <utility>
+
 #include "base/prefs/pref_service.h"
 #include "base/values.h"
 #include "chrome/browser/browser_process.h"
@@ -48,7 +50,7 @@
       prefs->Append(pref.release());
   }
 
-  return prefs.Pass();
+  return std::move(prefs);
 }
 
 PrefsUtil::SetPrefResult SettingsPrivateDelegate::SetPref(
@@ -60,7 +62,7 @@
   double zoom = content::ZoomLevelToZoomFactor(
       profile_->GetZoomLevelPrefs()->GetDefaultZoomLevelPref()) * 100;
   scoped_ptr<base::Value> value(new base::FundamentalValue(zoom));
-  return value.Pass();
+  return value;
 }
 
 PrefsUtil::SetPrefResult SettingsPrivateDelegate::SetDefaultZoomPercent(
diff --git a/chrome/browser/extensions/api/settings_private/settings_private_event_router.cc b/chrome/browser/extensions/api/settings_private/settings_private_event_router.cc
index b49af6d7..0ebef574 100644
--- a/chrome/browser/extensions/api/settings_private/settings_private_event_router.cc
+++ b/chrome/browser/extensions/api/settings_private/settings_private_event_router.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/api/settings_private/settings_private_event_router.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -141,8 +142,8 @@
 
   scoped_ptr<Event> extension_event(new Event(
       events::SETTINGS_PRIVATE_ON_PREFS_CHANGED,
-      api::settings_private::OnPrefsChanged::kEventName, args.Pass()));
-  event_router->BroadcastEvent(extension_event.Pass());
+      api::settings_private::OnPrefsChanged::kEventName, std::move(args)));
+  event_router->BroadcastEvent(std::move(extension_event));
 }
 
 SettingsPrivateEventRouter* SettingsPrivateEventRouter::Create(
diff --git a/chrome/browser/extensions/api/signed_in_devices/id_mapping_helper.cc b/chrome/browser/extensions/api/signed_in_devices/id_mapping_helper.cc
index c2c898f7..fec0546 100644
--- a/chrome/browser/extensions/api/signed_in_devices/id_mapping_helper.cc
+++ b/chrome/browser/extensions/api/signed_in_devices/id_mapping_helper.cc
@@ -98,7 +98,7 @@
     if ((*it)->guid() == client_id) {
       scoped_ptr<DeviceInfo> device(*it);
       devices.weak_erase(it);
-      return device.Pass();
+      return device;
     }
   }
   return scoped_ptr<DeviceInfo>();
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.cc b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.cc
index 2838196..9de72ed 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.cc
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api.cc
@@ -74,7 +74,7 @@
   extension_prefs->UpdateExtensionPref(extension_id,
                                        kPrefStringForIdMapping,
                                        editable_mapping_dictionary.release());
-  return devices.Pass();
+  return devices;
 }
 
 ScopedVector<DeviceInfo> GetAllSignedInDevices(
@@ -87,7 +87,7 @@
   DCHECK(device_tracker);
   if (!device_tracker->IsSyncing()) {
     // Devices are not sync'ing.
-    return ScopedVector<DeviceInfo>().Pass();
+    return ScopedVector<DeviceInfo>();
   }
 
   ExtensionPrefs* extension_prefs = ExtensionPrefs::Get(profile);
@@ -108,7 +108,7 @@
   scoped_ptr<DeviceInfo> device = GetDeviceInfoForClientId(guid,
                                                            extension_id,
                                                            profile);
-  return device.Pass();
+  return device;
 }
 
 bool SignedInDevicesGetFunction::RunSync() {
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
index dab20b6..8b7049b 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_api_unittest.cc
@@ -60,7 +60,7 @@
       list.push_back(CloneDeviceInfo(*iter));
     }
 
-    return list.Pass();
+    return list;
   }
 
   void AddObserver(Observer* observer) override { NOTREACHED(); }
diff --git a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.cc b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.cc
index ff5dba5..61292b7 100644
--- a/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.cc
+++ b/chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/signed_in_devices/signed_in_devices_manager.h"
 
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/lazy_instance.h"
@@ -77,14 +78,15 @@
 
   scoped_ptr<base::ListValue> result =
       api::signed_in_devices::OnDeviceInfoChange::Create(args);
-  scoped_ptr<Event> event(new Event(
-      events::SIGNED_IN_DEVICES_ON_DEVICE_INFO_CHANGE,
-      api::signed_in_devices::OnDeviceInfoChange::kEventName, result.Pass()));
+  scoped_ptr<Event> event(
+      new Event(events::SIGNED_IN_DEVICES_ON_DEVICE_INFO_CHANGE,
+                api::signed_in_devices::OnDeviceInfoChange::kEventName,
+                std::move(result)));
 
   event->restrict_to_browser_context = profile_;
 
-  EventRouter::Get(profile_)->DispatchEventToExtension(
-      extension_id_, event.Pass());
+  EventRouter::Get(profile_)
+      ->DispatchEventToExtension(extension_id_, std::move(event));
 }
 
 static base::LazyInstance<
diff --git a/chrome/browser/extensions/api/socket/tls_socket_unittest.cc b/chrome/browser/extensions/api/socket/tls_socket_unittest.cc
index 5d33fcd..b6b58b95 100644
--- a/chrome/browser/extensions/api/socket/tls_socket_unittest.cc
+++ b/chrome/browser/extensions/api/socket/tls_socket_unittest.cc
@@ -125,7 +125,7 @@
     // it to expect invocations from TLSSocket to |ssl_socket_|.
     scoped_ptr<MockSSLClientSocket> ssl_sock(new MockSSLClientSocket);
     ssl_socket_ = ssl_sock.get();
-    socket_.reset(new TLSSocket(ssl_sock.Pass(), "test_extension_id"));
+    socket_.reset(new TLSSocket(std::move(ssl_sock), "test_extension_id"));
     EXPECT_CALL(*ssl_socket_, Disconnect()).Times(1);
   };
 
diff --git a/chrome/browser/extensions/api/storage/managed_value_store_cache.cc b/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
index d4d6f6f3..13130c13 100644
--- a/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
+++ b/chrome/browser/extensions/api/storage/managed_value_store_cache.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/storage/managed_value_store_cache.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/callback.h"
@@ -131,7 +133,7 @@
     return;
   scoped_ptr<ExtensionSet> added(new ExtensionSet);
   added->Insert(extension);
-  LoadSchemas(added.Pass());
+  LoadSchemas(std::move(added));
 }
 
 void ManagedValueStoreCache::ExtensionTracker::OnExtensionUninstalled(
diff --git a/chrome/browser/extensions/api/storage/policy_value_store.cc b/chrome/browser/extensions/api/storage/policy_value_store.cc
index 8a8e988..66708b3d 100644
--- a/chrome/browser/extensions/api/storage/policy_value_store.cc
+++ b/chrome/browser/extensions/api/storage/policy_value_store.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/storage/policy_value_store.h"
 
+#include <utility>
+
 #include "base/logging.h"
 #include "base/values.h"
 #include "components/policy/core/common/policy_map.h"
@@ -31,7 +33,7 @@
     scoped_ptr<ValueStore> delegate)
     : extension_id_(extension_id),
       observers_(observers),
-      delegate_(delegate.Pass()) {}
+      delegate_(std::move(delegate)) {}
 
 PolicyValueStore::~PolicyValueStore() {}
 
diff --git a/chrome/browser/extensions/api/storage/setting_sync_data.cc b/chrome/browser/extensions/api/storage/setting_sync_data.cc
index cf7cbf65..2147294 100644
--- a/chrome/browser/extensions/api/storage/setting_sync_data.cc
+++ b/chrome/browser/extensions/api/storage/setting_sync_data.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/storage/setting_sync_data.h"
 
+#include <utility>
+
 #include "base/json/json_reader.h"
 #include "base/json/json_writer.h"
 #include "sync/api/sync_data.h"
@@ -30,14 +32,13 @@
     : change_type_(change_type),
       extension_id_(extension_id),
       key_(key),
-      value_(value.Pass()) {
-}
+      value_(std::move(value)) {}
 
 SettingSyncData::~SettingSyncData() {}
 
 scoped_ptr<base::Value> SettingSyncData::PassValue() {
   DCHECK(value_) << "value has already been Pass()ed";
-  return value_.Pass();
+  return std::move(value_);
 }
 
 void SettingSyncData::ExtractSyncData(const syncer::SyncData& sync_data) {
diff --git a/chrome/browser/extensions/api/storage/settings_apitest.cc b/chrome/browser/extensions/api/storage/settings_apitest.cc
index f5b25e21..45921cd 100644
--- a/chrome/browser/extensions/api/storage/settings_apitest.cc
+++ b/chrome/browser/extensions/api/storage/settings_apitest.cc
@@ -139,7 +139,7 @@
         policy::POLICY_DOMAIN_EXTENSIONS, kManagedStorageExtensionId));
     policy_map.LoadFrom(&policies, policy::POLICY_LEVEL_MANDATORY,
                         policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD);
-    policy_provider_.UpdatePolicy(bundle.Pass());
+    policy_provider_.UpdatePolicy(std::move(bundle));
   }
 #endif
 
diff --git a/chrome/browser/extensions/api/storage/settings_sync_unittest.cc b/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
index 3a184b11..3aff3d7 100644
--- a/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
+++ b/chrome/browser/extensions/api/storage/settings_sync_unittest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/scoped_temp_dir.h"
@@ -223,8 +224,8 @@
     ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
     profile_.reset(new TestingProfile(temp_dir_.path()));
     storage_factory_->Reset(new LeveldbSettingsStorageFactory());
-    frontend_ = StorageFrontend::CreateForTesting(storage_factory_,
-                                                  profile_.get()).Pass();
+    frontend_ =
+        StorageFrontend::CreateForTesting(storage_factory_, profile_.get());
 
     ExtensionsBrowserClient::Get()
         ->GetExtensionSystemFactory()
@@ -306,9 +307,8 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   AddExtensionAndGetStorage("s2", type);
@@ -349,9 +349,7 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          sync_data,
-          sync_processor_wrapper_.Pass(),
+          model_type, sync_data, std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // Already in sync, so no changes.
@@ -387,9 +385,8 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // All settings should have been pushed to sync.
@@ -427,9 +424,7 @@
       "s2", "bar", value2, model_type));
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          sync_data,
-          sync_processor_wrapper_.Pass(),
+          model_type, sync_data, std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   expected1.Set("foo", value1.DeepCopy());
   expected2.Set("bar", value2.DeepCopy());
@@ -471,9 +466,7 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          sync_data,
-          sync_processor_wrapper_.Pass(),
+          model_type, sync_data, std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   expected2.Set("bar", value2.DeepCopy());
 
@@ -547,9 +540,7 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          sync_data,
-          sync_processor_wrapper_.Pass(),
+          model_type, sync_data, std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // Add something locally.
@@ -686,9 +677,8 @@
 
   GetSyncableService(syncer::EXTENSION_SETTINGS)
       ->MergeDataAndStartSyncing(
-          syncer::EXTENSION_SETTINGS,
-          sync_data,
-          sync_processor_wrapper_.Pass(),
+          syncer::EXTENSION_SETTINGS, sync_data,
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   GetSyncableService(syncer::EXTENSION_SETTINGS)->
       StopSyncing(syncer::EXTENSION_SETTINGS);
@@ -702,9 +692,7 @@
       new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
   GetSyncableService(syncer::APP_SETTINGS)
       ->MergeDataAndStartSyncing(
-          syncer::APP_SETTINGS,
-          sync_data,
-          app_settings_delegate_.Pass(),
+          syncer::APP_SETTINGS, sync_data, std::move(app_settings_delegate_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   GetSyncableService(syncer::APP_SETTINGS)->
       StopSyncing(syncer::APP_SETTINGS);
@@ -737,9 +725,7 @@
           "bad", "foo", fooValue, model_type));
     GetSyncableService(model_type)
         ->MergeDataAndStartSyncing(
-            model_type,
-            sync_data,
-            sync_processor_wrapper_.Pass(),
+            model_type, sync_data, std::move(sync_processor_wrapper_),
             make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   }
   testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK);
@@ -854,9 +840,8 @@
       new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // Local settings will have been pushed to sync, since it's empty (in this
@@ -927,9 +912,7 @@
           "bad", "foo", fooValue, model_type));
     GetSyncableService(model_type)
         ->MergeDataAndStartSyncing(
-            model_type,
-            sync_data,
-            sync_processor_wrapper_.Pass(),
+            model_type, sync_data, std::move(sync_processor_wrapper_),
             make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   }
 
@@ -1032,9 +1015,8 @@
   // Sync shouldn't be disabled for good (nor bad -- but this is unimportant).
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
@@ -1075,9 +1057,8 @@
   testing_factory->GetExisting("bad")->set_status_code(ValueStore::CORRUPTION);
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   testing_factory->GetExisting("bad")->set_status_code(ValueStore::OK);
 
@@ -1126,9 +1107,8 @@
       new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
@@ -1171,9 +1151,8 @@
   sync_processor_->set_fail_all_requests(true);
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   sync_processor_->set_fail_all_requests(false);
 
@@ -1215,9 +1194,8 @@
       new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
@@ -1254,9 +1232,8 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // bad will fail to send changes.
@@ -1307,9 +1284,8 @@
       new syncer::SyncChangeProcessorWrapperForTest(sync_processor_.get()));
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   EXPECT_EQ(syncer::SyncChange::ACTION_ADD,
@@ -1345,9 +1321,8 @@
 
   GetSyncableService(model_type)
       ->MergeDataAndStartSyncing(
-          model_type,
-          syncer::SyncDataList(),
-          sync_processor_wrapper_.Pass(),
+          model_type, syncer::SyncDataList(),
+          std::move(sync_processor_wrapper_),
           make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
 
   // Large local change rejected and doesn't get sent out.
@@ -1390,9 +1365,7 @@
 
     GetSyncableService(model_type)
         ->MergeDataAndStartSyncing(
-            model_type,
-            sync_data_list,
-            sync_processor_wrapper_.Pass(),
+            model_type, sync_data_list, std::move(sync_processor_wrapper_),
             make_scoped_ptr(new syncer::SyncErrorFactoryMock()));
   }
 
diff --git a/chrome/browser/extensions/api/storage/sync_storage_backend.cc b/chrome/browser/extensions/api/storage/sync_storage_backend.cc
index 0f68980..bf1a0bd8 100644
--- a/chrome/browser/extensions/api/storage/sync_storage_backend.cc
+++ b/chrome/browser/extensions/api/storage/sync_storage_backend.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/storage/sync_storage_backend.h"
 
+#include <utility>
+
 #include "base/files/file_enumerator.h"
 #include "base/logging.h"
 #include "chrome/browser/extensions/api/storage/settings_sync_processor.h"
@@ -82,7 +84,7 @@
 
   if (sync_processor_.get()) {
     syncer::SyncError error = syncable_storage->StartSyncing(
-        sync_data.Pass(), CreateSettingsSyncProcessor(extension_id).Pass());
+        std::move(sync_data), CreateSettingsSyncProcessor(extension_id));
     if (error.IsSet())
       syncable_storage->StopSyncing();
   }
@@ -172,8 +174,8 @@
   DCHECK(sync_processor.get());
   DCHECK(sync_error_factory.get());
 
-  sync_processor_ = sync_processor.Pass();
-  sync_error_factory_ = sync_error_factory.Pass();
+  sync_processor_ = std::move(sync_processor);
+  sync_error_factory_ = std::move(sync_error_factory);
 
   // Group the initial sync data by extension id.
   // The raw pointers are safe because ownership of each item is passed to
@@ -201,14 +203,12 @@
     auto group = grouped_sync_data.find(extension_id);
     syncer::SyncError error;
     if (group != grouped_sync_data.end()) {
-      error = storage->StartSyncing(
-          make_scoped_ptr(group->second),
-          CreateSettingsSyncProcessor(extension_id).Pass());
+      error = storage->StartSyncing(make_scoped_ptr(group->second),
+                                    CreateSettingsSyncProcessor(extension_id));
       grouped_sync_data.erase(group);
     } else {
-      error = storage->StartSyncing(
-          EmptyDictionaryValue(),
-          CreateSettingsSyncProcessor(extension_id).Pass());
+      error = storage->StartSyncing(EmptyDictionaryValue(),
+                                    CreateSettingsSyncProcessor(extension_id));
     }
 
     if (error.IsSet())
@@ -241,7 +241,7 @@
     SettingSyncDataList*& group = grouped_sync_data[data->extension_id()];
     if (!group)
       group = new SettingSyncDataList();
-    group->push_back(data.Pass());
+    group->push_back(std::move(data));
   }
 
   // Create any storage areas that don't exist yet but have sync data.
diff --git a/chrome/browser/extensions/api/storage/syncable_settings_storage.cc b/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
index 7ea40b73d..8d43d8e 100644
--- a/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
+++ b/chrome/browser/extensions/api/storage/syncable_settings_storage.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/storage/syncable_settings_storage.h"
 
+#include <utility>
+
 #include "base/strings/stringprintf.h"
 #include "chrome/browser/extensions/api/storage/settings_sync_processor.h"
 #include "chrome/browser/extensions/api/storage/settings_sync_util.h"
@@ -87,9 +89,9 @@
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
   WriteResult result = HandleResult(delegate_->Set(options, key, value));
   if (!result->status().ok())
-    return result.Pass();
+    return result;
   SyncResultIfEnabled(result);
-  return result.Pass();
+  return result;
 }
 
 ValueStore::WriteResult SyncableSettingsStorage::Set(
@@ -97,9 +99,9 @@
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
   WriteResult result = HandleResult(delegate_->Set(options, values));
   if (!result->status().ok())
-    return result.Pass();
+    return result;
   SyncResultIfEnabled(result);
-  return result.Pass();
+  return result;
 }
 
 ValueStore::WriteResult SyncableSettingsStorage::Remove(
@@ -107,9 +109,9 @@
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
   WriteResult result = HandleResult(delegate_->Remove(key));
   if (!result->status().ok())
-    return result.Pass();
+    return result;
   SyncResultIfEnabled(result);
-  return result.Pass();
+  return result;
 }
 
 ValueStore::WriteResult SyncableSettingsStorage::Remove(
@@ -117,18 +119,18 @@
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
   WriteResult result = HandleResult(delegate_->Remove(keys));
   if (!result->status().ok())
-    return result.Pass();
+    return result;
   SyncResultIfEnabled(result);
-  return result.Pass();
+  return result;
 }
 
 ValueStore::WriteResult SyncableSettingsStorage::Clear() {
   DCHECK_CURRENTLY_ON(BrowserThread::FILE);
   WriteResult result = HandleResult(delegate_->Clear());
   if (!result->status().ok())
-    return result.Pass();
+    return result;
   SyncResultIfEnabled(result);
-  return result.Pass();
+  return result;
 }
 
 void SyncableSettingsStorage::SyncResultIfEnabled(
@@ -157,7 +159,7 @@
   DCHECK(sync_state);
   DCHECK(!sync_processor_.get());
 
-  sync_processor_ = sync_processor.Pass();
+  sync_processor_ = std::move(sync_processor);
   sync_processor_->Init(*sync_state);
 
   ReadResult maybe_settings = delegate_->Get();
@@ -171,9 +173,10 @@
 
   scoped_ptr<base::DictionaryValue> current_settings =
       maybe_settings->PassSettings();
-  return sync_state->empty() ? SendLocalSettingsToSync(current_settings.Pass())
-                             : OverwriteLocalSettingsWithSync(
-                                   sync_state.Pass(), current_settings.Pass());
+  return sync_state->empty()
+             ? SendLocalSettingsToSync(std::move(current_settings))
+             : OverwriteLocalSettingsWithSync(std::move(sync_state),
+                                              std::move(current_settings));
 }
 
 syncer::SyncError SyncableSettingsStorage::SendLocalSettingsToSync(
@@ -216,9 +219,9 @@
         // Sync and local values are the same, no changes to send.
       } else {
         // Sync value is different, update local setting with new value.
-        changes->push_back(
-            new SettingSyncData(syncer::SyncChange::ACTION_UPDATE,
-                                extension_id_, it.key(), sync_value.Pass()));
+        changes->push_back(new SettingSyncData(
+            syncer::SyncChange::ACTION_UPDATE, extension_id_, it.key(),
+            std::move(sync_value)));
       }
     } else {
       // Not synced, delete local setting.
@@ -235,13 +238,13 @@
     std::string key = base::DictionaryValue::Iterator(*sync_state).key();
     scoped_ptr<base::Value> value;
     CHECK(sync_state->RemoveWithoutPathExpansion(key, &value));
-    changes->push_back(new SettingSyncData(syncer::SyncChange::ACTION_ADD,
-                                           extension_id_, key, value.Pass()));
+    changes->push_back(new SettingSyncData(
+        syncer::SyncChange::ACTION_ADD, extension_id_, key, std::move(value)));
   }
 
   if (changes->empty())
     return syncer::SyncError();
-  return ProcessSyncChanges(changes.Pass());
+  return ProcessSyncChanges(std::move(changes));
 }
 
 void SyncableSettingsStorage::StopSyncing() {
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_api.cc b/chrome/browser/extensions/api/streams_private/streams_private_api.cc
index d222b75..3f955600 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_api.cc
+++ b/chrome/browser/extensions/api/streams_private/streams_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/streams_private/streams_private_api.h"
 
 #include <limits.h>
+#include <utility>
 
 #include "base/lazy_instance.h"
 #include "base/values.h"
@@ -86,9 +87,9 @@
                      handler->handler_url());
     auto tab_id = ExtensionTabUtil::GetTabId(web_contents);
     scoped_ptr<StreamContainer> stream_container(new StreamContainer(
-        stream.Pass(), tab_id, embedded, handler_url, extension_id));
+        std::move(stream), tab_id, embedded, handler_url, extension_id));
     MimeHandlerStreamManager::Get(browser_context_)
-        ->AddStream(view_id, stream_container.Pass(), render_process_id,
+        ->AddStream(view_id, std::move(stream_container), render_process_id,
                     render_frame_id);
     return;
   }
@@ -118,7 +119,7 @@
                 streams_private::OnExecuteMimeTypeHandler::Create(info)));
 
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 
   GURL url = stream->handle->GetURL();
   streams_[extension_id][url] = make_linked_ptr(stream->handle.release());
diff --git a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
index 60db11a..7394431c 100644
--- a/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
+++ b/chrome/browser/extensions/api/streams_private/streams_private_apitest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/message_loop/message_loop.h"
 #include "base/prefs/pref_service.h"
@@ -60,7 +62,7 @@
   if (request.relative_url == "/doc_path.doc") {
     response->set_code(net::HTTP_OK);
     response->set_content_type("application/msword");
-    return response.Pass();
+    return std::move(response);
   }
 
   // For relative path "/spreadsheet_path.xls", return success response with
@@ -71,7 +73,7 @@
     // Test that multiple headers with the same name are merged.
     response->AddCustomHeader("Test-Header", "part1");
     response->AddCustomHeader("Test-Header", "part2");
-    return response.Pass();
+    return std::move(response);
   }
 
   // For relative path "/text_path_attch.txt", return success response with
@@ -83,7 +85,7 @@
     response->set_content_type("text/plain");
     response->AddCustomHeader("Content-Disposition",
                               "attachment; filename=test_path.txt");
-    return response.Pass();
+    return std::move(response);
   }
 
   // For relative path "/test_path_attch.txt", return success response with
@@ -92,7 +94,7 @@
     response->set_code(net::HTTP_OK);
     response->set_content("txt content");
     response->set_content_type("text/plain");
-    return response.Pass();
+    return std::move(response);
   }
 
   // A random HTML file to navigate to.
@@ -100,7 +102,7 @@
     response->set_code(net::HTTP_OK);
     response->set_content("html content");
     response->set_content_type("text/html");
-    return response.Pass();
+    return std::move(response);
   }
 
   // RTF files for testing chrome.streamsPrivate.abort().
@@ -108,19 +110,19 @@
       request.relative_url == "/no_abort.rtf") {
     response->set_code(net::HTTP_OK);
     response->set_content_type("application/rtf");
-    return response.Pass();
+    return std::move(response);
   }
 
   // Respond to /favicon.ico for navigating to the page.
   if (request.relative_url == "/favicon.ico") {
     response->set_code(net::HTTP_NOT_FOUND);
-    return response.Pass();
+    return std::move(response);
   }
 
   // No other requests should be handled in the tests.
   EXPECT_TRUE(false) << "NOTREACHED!";
   response->set_code(net::HTTP_NOT_FOUND);
-  return response.Pass();
+  return std::move(response);
 }
 
 // Tests to verify that resources are correctly intercepted by
@@ -186,7 +188,7 @@
         streams_private::OnExecuteMimeTypeHandler::Create(info)));
 
     extensions::EventRouter::Get(browser()->profile())
-        ->DispatchEventToExtension(test_extension_id_, event.Pass());
+        ->DispatchEventToExtension(test_extension_id_, std::move(event));
   }
 
   // Loads the test extension and set's up its file_browser_handler to handle
@@ -411,7 +413,7 @@
   params->set_file_path(target_path);
 
   // Start download of the URL with a path "/text_path.txt" on the test server.
-  download_manager->DownloadUrl(params.Pass());
+  download_manager->DownloadUrl(std::move(params));
 
   // Wait for the download to start.
   download_observer->WaitForFinished();
diff --git a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
index 3b0dca5..6d9d18c 100644
--- a/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
+++ b/chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/sync_file_system/extension_sync_event_observer.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "chrome/browser/extensions/api/sync_file_system/sync_file_system_api_helpers.h"
 #include "chrome/browser/sync_file_system/sync_event_observer.h"
@@ -80,7 +82,8 @@
 
   BroadcastOrDispatchEvent(
       app_origin, events::SYNC_FILE_SYSTEM_ON_SERVICE_STATUS_CHANGED,
-      api::sync_file_system::OnServiceStatusChanged::kEventName, params.Pass());
+      api::sync_file_system::OnServiceStatusChanged::kEventName,
+      std::move(params));
 }
 
 void ExtensionSyncEventObserver::OnFileSynced(
@@ -110,7 +113,8 @@
 
   BroadcastOrDispatchEvent(
       url.origin(), events::SYNC_FILE_SYSTEM_ON_FILE_STATUS_CHANGED,
-      api::sync_file_system::OnFileStatusChanged::kEventName, params.Pass());
+      api::sync_file_system::OnFileStatusChanged::kEventName,
+      std::move(params));
 }
 
 void ExtensionSyncEventObserver::BroadcastOrDispatchEvent(
@@ -125,12 +129,12 @@
   DCHECK(event_router);
 
   scoped_ptr<Event> event(
-      new Event(histogram_value, event_name, values.Pass()));
+      new Event(histogram_value, event_name, std::move(values)));
   event->restrict_to_browser_context = browser_context_;
 
   // No app_origin, broadcast to all listening extensions for this event name.
   if (broadcast_mode) {
-    event_router->BroadcastEvent(event.Pass());
+    event_router->BroadcastEvent(std::move(event));
     return;
   }
 
@@ -138,7 +142,7 @@
   const std::string extension_id = GetExtensionId(app_origin);
   if (extension_id.empty())
     return;
-  event_router->DispatchEventToExtension(extension_id, event.Pass());
+  event_router->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 template <>
diff --git a/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc b/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
index 90c15e9..f257865 100644
--- a/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
+++ b/chrome/browser/extensions/api/sync_file_system/sync_file_system_browsertest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <stdint.h>
+#include <utility>
 
 #include "base/json/json_reader.h"
 #include "base/macros.h"
@@ -42,7 +43,7 @@
     scoped_ptr<drive::FakeDriveService> drive_service(
         new drive::FakeDriveService);
     drive_service->AddChangeObserver(change_observer_);
-    return drive_service.Pass();
+    return std::move(drive_service);
   }
 
  private:
@@ -102,18 +103,15 @@
 
     remote_service_ = new drive_backend::SyncEngine(
         base::ThreadTaskRunnerHandle::Get(),  // ui_task_runner
-        MakeSequencedTaskRunner(),
-        MakeSequencedTaskRunner(),
-        content::BrowserThread::GetBlockingPool(),
-        base_dir_.path(),
+        MakeSequencedTaskRunner(), MakeSequencedTaskRunner(),
+        content::BrowserThread::GetBlockingPool(), base_dir_.path(),
         NULL,  // task_logger
         NULL,  // notification_manager
         extension_service,
         fake_signin_manager_.get(),  // signin_manager
-        NULL,  // token_service
-        NULL,  // request_context
-        drive_service_factory.Pass(),
-        in_memory_env_.get());
+        NULL,                        // token_service
+        NULL,                        // request_context
+        std::move(drive_service_factory), in_memory_env_.get());
     remote_service_->SetSyncEnabled(true);
     factory->set_mock_remote_file_service(
         scoped_ptr<RemoteFileSyncService>(remote_service_));
diff --git a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
index 9dfe3fe..7ebe877 100644
--- a/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
+++ b/chrome/browser/extensions/api/system_indicator/system_indicator_manager.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/system_indicator/system_indicator_manager.h"
 
+#include <utility>
+
 #include "base/memory/linked_ptr.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/extensions/extension_action.h"
@@ -84,9 +86,8 @@
   EventRouter* event_router = EventRouter::Get(profile_);
   scoped_ptr<Event> event(new Event(events::SYSTEM_INDICATOR_ON_CLICKED,
                                     system_indicator::OnClicked::kEventName,
-                                    params.Pass(), profile_));
-  event_router->DispatchEventToExtension(
-      extension_->id(), event.Pass());
+                                    std::move(params), profile_));
+  event_router->DispatchEventToExtension(extension_->id(), std::move(event));
 }
 
 void ExtensionIndicatorIcon::OnIconUpdated() {
diff --git a/chrome/browser/extensions/api/system_private/system_private_api.cc b/chrome/browser/extensions/api/system_private/system_private_api.cc
index 81c3b031..f90b180 100644
--- a/chrome/browser/extensions/api/system_private/system_private_api.cc
+++ b/chrome/browser/extensions/api/system_private/system_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/system_private/system_private_api.h"
 
+#include <utility>
+
 #include "base/macros.h"
 #include "base/prefs/pref_service.h"
 #include "base/values.h"
@@ -57,8 +59,8 @@
     list_args->Append(argument);
   }
   g_browser_process->extension_event_router_forwarder()
-      ->BroadcastEventToRenderers(histogram_value, event_name, list_args.Pass(),
-                                  GURL());
+      ->BroadcastEventToRenderers(histogram_value, event_name,
+                                  std::move(list_args), GURL());
 }
 
 }  // namespace
diff --git a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
index a300dfb..886126b 100644
--- a/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
+++ b/chrome/browser/extensions/api/tab_capture/tab_capture_registry.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/tab_capture/tab_capture_registry.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "base/macros.h"
 #include "base/values.h"
@@ -327,10 +329,10 @@
   args->Append(info.ToValue().release());
   scoped_ptr<Event> event(new Event(events::TAB_CAPTURE_ON_STATUS_CHANGED,
                                     tab_capture::OnStatusChanged::kEventName,
-                                    args.Pass()));
+                                    std::move(args)));
   event->restrict_to_browser_context = browser_context_;
 
-  router->DispatchEventToExtension(request->extension_id(), event.Pass());
+  router->DispatchEventToExtension(request->extension_id(), std::move(event));
 }
 
 TabCaptureRegistry::LiveRequest* TabCaptureRegistry::FindRequest(
diff --git a/chrome/browser/extensions/api/tabs/app_window_controller.cc b/chrome/browser/extensions/api/tabs/app_window_controller.cc
index 2e3fb68d..e81fb16 100644
--- a/chrome/browser/extensions/api/tabs/app_window_controller.cc
+++ b/chrome/browser/extensions/api/tabs/app_window_controller.cc
@@ -2,9 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/api/tabs/app_window_controller.h"
+
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/extensions/api/tabs/app_base_window.h"
-#include "chrome/browser/extensions/api/tabs/app_window_controller.h"
 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
 #include "chrome/browser/extensions/extension_tab_util.h"
 #include "chrome/browser/extensions/window_controller.h"
@@ -22,7 +25,7 @@
                                          Profile* profile)
     : WindowController(base_window.get(), profile),
       app_window_(app_window),
-      base_window_(base_window.Pass()) {
+      base_window_(std::move(base_window)) {
   WindowControllerList::GetInstance()->AddExtensionWindow(this);
 }
 
diff --git a/chrome/browser/extensions/api/tabs/tabs_api.cc b/chrome/browser/extensions/api/tabs/tabs_api.cc
index d91aa56..6b8c944 100644
--- a/chrome/browser/extensions/api/tabs/tabs_api.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_api.cc
@@ -5,9 +5,9 @@
 #include "chrome/browser/extensions/api/tabs/tabs_api.h"
 
 #include <stddef.h>
-
 #include <algorithm>
 #include <limits>
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -1823,7 +1823,7 @@
   }
 
   execute_tab_id_ = tab_id;
-  details_ = details.Pass();
+  details_ = std::move(details);
   set_host_id(HostID(HostID::EXTENSIONS, extension()->id()));
   return true;
 }
diff --git a/chrome/browser/extensions/api/tabs/tabs_event_router.cc b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
index 25802f6..f0583216 100644
--- a/chrome/browser/extensions/api/tabs/tabs_event_router.cc
+++ b/chrome/browser/extensions/api/tabs/tabs_event_router.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/tabs/tabs_event_router.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/values.h"
 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
@@ -72,14 +73,14 @@
   scoped_ptr<base::DictionaryValue> changed_properties(
       new base::DictionaryValue());
   if (!complete_waiting_on_load_ || web_contents()->IsLoading()) {
-    return changed_properties.Pass();
+    return changed_properties;
   }
 
   // Send "complete" state change.
   complete_waiting_on_load_ = false;
   changed_properties->SetString(tabs_constants::kStatusKey,
                                 tabs_constants::kStatusValueComplete);
-  return changed_properties.Pass();
+  return changed_properties;
 }
 
 scoped_ptr<base::DictionaryValue> TabsEventRouter::TabEntry::DidNavigate() {
@@ -95,7 +96,7 @@
     changed_properties->SetString(tabs_constants::kUrlKey, url_.spec());
   }
 
-  return changed_properties.Pass();
+  return changed_properties;
 }
 
 scoped_ptr<base::DictionaryValue> TabsEventRouter::TabEntry::TitleChanged() {
@@ -103,7 +104,7 @@
       new base::DictionaryValue());
   changed_properties->SetString(tabs_constants::kTitleKey,
                                 web_contents()->GetTitle());
-  return changed_properties.Pass();
+  return changed_properties;
 }
 
 bool TabsEventRouter::TabEntry::SetAudible(bool new_val) {
@@ -207,13 +208,13 @@
                                    bool active) {
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
   scoped_ptr<base::ListValue> args(new base::ListValue);
-  scoped_ptr<Event> event(new Event(events::TABS_ON_CREATED,
-                                    tabs::OnCreated::kEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(
+      events::TABS_ON_CREATED, tabs::OnCreated::kEventName, std::move(args)));
   event->restrict_to_browser_context = profile;
   event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED;
   event->will_dispatch_callback =
       base::Bind(&WillDispatchTabCreatedEvent, contents, active);
-  EventRouter::Get(profile)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile)->BroadcastEvent(std::move(event));
 
   RegisterForTabNotifications(contents);
 }
@@ -245,7 +246,7 @@
 
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
   DispatchEvent(profile, events::TABS_ON_ATTACHED, tabs::OnAttached::kEventName,
-                args.Pass(), EventRouter::USER_GESTURE_UNKNOWN);
+                std::move(args), EventRouter::USER_GESTURE_UNKNOWN);
 }
 
 void TabsEventRouter::TabDetachedAt(WebContents* contents, int index) {
@@ -268,7 +269,7 @@
 
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
   DispatchEvent(profile, events::TABS_ON_DETACHED, tabs::OnDetached::kEventName,
-                args.Pass(), EventRouter::USER_GESTURE_UNKNOWN);
+                std::move(args), EventRouter::USER_GESTURE_UNKNOWN);
 }
 
 void TabsEventRouter::TabClosingAt(TabStripModel* tab_strip_model,
@@ -288,7 +289,7 @@
 
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
   DispatchEvent(profile, events::TABS_ON_REMOVED, tabs::OnRemoved::kEventName,
-                args.Pass(), EventRouter::USER_GESTURE_UNKNOWN);
+                std::move(args), EventRouter::USER_GESTURE_UNKNOWN);
 
   UnregisterForTabNotifications(contents);
 }
@@ -327,7 +328,7 @@
   object_args->Set(tabs_constants::kTabIdKey,
                    new FundamentalValue(tab_id));
   DispatchEvent(profile, events::TABS_ON_ACTIVATED,
-                tabs::OnActivated::kEventName, args.Pass(), gesture);
+                tabs::OnActivated::kEventName, std::move(args), gesture);
 }
 
 void TabsEventRouter::TabSelectionChanged(
@@ -364,7 +365,7 @@
                 scoped_ptr<base::ListValue>(args->DeepCopy()),
                 EventRouter::USER_GESTURE_UNKNOWN);
   DispatchEvent(profile, events::TABS_ON_HIGHLIGHTED,
-                tabs::OnHighlighted::kEventName, args.Pass(),
+                tabs::OnHighlighted::kEventName, std::move(args),
                 EventRouter::USER_GESTURE_UNKNOWN);
 }
 
@@ -387,7 +388,7 @@
 
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
   DispatchEvent(profile, events::TABS_ON_MOVED, tabs::OnMoved::kEventName,
-                args.Pass(), EventRouter::USER_GESTURE_UNKNOWN);
+                std::move(args), EventRouter::USER_GESTURE_UNKNOWN);
 }
 
 void TabsEventRouter::TabUpdated(
@@ -404,11 +405,12 @@
   if (entry->SetMuted(muted)) {
     changed_properties->Set(
         tabs_constants::kMutedInfoKey,
-        ExtensionTabUtil::CreateMutedInfo(entry->web_contents()).Pass());
+        ExtensionTabUtil::CreateMutedInfo(entry->web_contents()));
   }
 
   if (!changed_properties->empty()) {
-    DispatchTabUpdatedEvent(entry->web_contents(), changed_properties.Pass());
+    DispatchTabUpdatedEvent(entry->web_contents(),
+                            std::move(changed_properties));
   }
 }
 
@@ -422,7 +424,7 @@
     changed_properties->SetString(
         tabs_constants::kFaviconUrlKey,
         entry->GetFavicon().url.possibly_invalid_spec());
-    DispatchTabUpdatedEvent(contents, changed_properties.Pass());
+    DispatchTabUpdatedEvent(contents, std::move(changed_properties));
 }
 
 void TabsEventRouter::DispatchEvent(
@@ -435,10 +437,11 @@
   if (!profile_->IsSameProfile(profile) || !event_router)
     return;
 
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
   event->restrict_to_browser_context = profile;
   event->user_gesture = user_gesture;
-  event_router->BroadcastEvent(event.Pass());
+  event_router->BroadcastEvent(std::move(event));
 }
 
 void TabsEventRouter::DispatchTabUpdatedEvent(
@@ -462,15 +465,16 @@
   // WillDispatchTabUpdatedEvent.
   Profile* profile = Profile::FromBrowserContext(contents->GetBrowserContext());
 
-  scoped_ptr<Event> event(new Event(
-      events::TABS_ON_UPDATED, tabs::OnUpdated::kEventName, args_base.Pass()));
+  scoped_ptr<Event> event(new Event(events::TABS_ON_UPDATED,
+                                    tabs::OnUpdated::kEventName,
+                                    std::move(args_base)));
   event->restrict_to_browser_context = profile;
   event->user_gesture = EventRouter::USER_GESTURE_NOT_ENABLED;
   event->will_dispatch_callback =
       base::Bind(&WillDispatchTabUpdatedEvent,
                  contents,
                  changed_properties.get());
-  EventRouter::Get(profile)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile)->BroadcastEvent(std::move(event));
 }
 
 TabsEventRouter::TabEntry* TabsEventRouter::GetTabEntry(WebContents* contents) {
@@ -501,7 +505,7 @@
 
   DispatchEvent(Profile::FromBrowserContext(new_contents->GetBrowserContext()),
                 events::TABS_ON_REPLACED, tabs::OnReplaced::kEventName,
-                args.Pass(), EventRouter::USER_GESTURE_UNKNOWN);
+                std::move(args), EventRouter::USER_GESTURE_UNKNOWN);
 
   UnregisterForTabNotifications(old_contents);
 
@@ -518,7 +522,7 @@
         new base::DictionaryValue());
     changed_properties->SetBoolean(tabs_constants::kPinnedKey,
                                    tab_strip->IsTabPinned(tab_index));
-    DispatchTabUpdatedEvent(contents, changed_properties.Pass());
+    DispatchTabUpdatedEvent(contents, std::move(changed_properties));
   }
 }
 
diff --git a/chrome/browser/extensions/api/tabs/windows_event_router.cc b/chrome/browser/extensions/api/tabs/windows_event_router.cc
index c57463f..49463f0 100644
--- a/chrome/browser/extensions/api/tabs/windows_event_router.cc
+++ b/chrome/browser/extensions/api/tabs/windows_event_router.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/tabs/windows_event_router.h"
 
+#include <utility>
+
 #include "base/values.h"
 #include "build/build_config.h"
 #include "chrome/browser/chrome_notification_types.h"
@@ -197,7 +199,7 @@
       window_controller->CreateWindowValue();
   args->Append(window_dictionary);
   DispatchEvent(events::WINDOWS_ON_CREATED, windows::OnCreated::kEventName,
-                window_controller, args.Pass());
+                window_controller, std::move(args));
 }
 
 void WindowsEventRouter::OnWindowControllerRemoved(
@@ -211,7 +213,7 @@
   scoped_ptr<base::ListValue> args(new base::ListValue());
   args->Append(new base::FundamentalValue(window_id));
   DispatchEvent(events::WINDOWS_ON_REMOVED, windows::OnRemoved::kEventName,
-                window_controller, args.Pass());
+                window_controller, std::move(args));
 }
 
 #if !defined(OS_MACOSX)
@@ -259,18 +261,19 @@
                                     make_scoped_ptr(new base::ListValue())));
   event->will_dispatch_callback =
       base::Bind(&WillDispatchWindowFocusedEvent, window_controller);
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
 }
 
 void WindowsEventRouter::DispatchEvent(events::HistogramValue histogram_value,
                                        const std::string& event_name,
                                        WindowController* window_controller,
                                        scoped_ptr<base::ListValue> args) {
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, args.Pass()));
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(args)));
   event->restrict_to_browser_context = window_controller->profile();
   event->will_dispatch_callback =
       base::Bind(&WillDispatchWindowEvent, window_controller);
-  EventRouter::Get(profile_)->BroadcastEvent(event.Pass());
+  EventRouter::Get(profile_)->BroadcastEvent(std::move(event));
 }
 
 bool WindowsEventRouter::HasEventListener(const std::string& event_name) {
@@ -280,7 +283,7 @@
 void WindowsEventRouter::AddAppWindow(extensions::AppWindow* app_window) {
   scoped_ptr<AppWindowController> controller(new AppWindowController(
       app_window, make_scoped_ptr(new AppBaseWindow(app_window)), profile_));
-  app_windows_[app_window->session_id().id()] = controller.Pass();
+  app_windows_[app_window->session_id().id()] = std::move(controller);
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.cc
index 3b04125..a8b027a 100644
--- a/chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.cc
+++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.cc
@@ -6,6 +6,8 @@
 
 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.h"
 
+#include <utility>
+
 #include "base/json/json_writer.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/time/time.h"
@@ -50,10 +52,10 @@
   EventRouter* event_router = EventRouter::Get(profile);
   if (profile && event_router) {
     scoped_ptr<Event> event(
-        new Event(histogram_value, event_name, args.Pass()));
+        new Event(histogram_value, event_name, std::move(args)));
     event->restrict_to_browser_context = profile;
     event->filter_info = info;
-    event_router->BroadcastEvent(event.Pass());
+    event_router->BroadcastEvent(std::move(event));
   }
 }
 
@@ -85,7 +87,7 @@
 
   DispatchEvent(web_contents->GetBrowserContext(),
                 events::WEB_NAVIGATION_ON_BEFORE_NAVIGATE,
-                web_navigation::OnBeforeNavigate::kEventName, args.Pass(),
+                web_navigation::OnBeforeNavigate::kEventName, std::move(args),
                 validated_url);
 }
 
@@ -125,7 +127,7 @@
   args->Append(dict);
 
   DispatchEvent(web_contents->GetBrowserContext(), histogram_value, event_name,
-                args.Pass(), url);
+                std::move(args), url);
 }
 
 // Constructs and dispatches an onDOMContentLoaded event.
@@ -144,7 +146,7 @@
 
   DispatchEvent(web_contents->GetBrowserContext(),
                 events::WEB_NAVIGATION_ON_DOM_CONTENT_LOADED,
-                web_navigation::OnDOMContentLoaded::kEventName, args.Pass(),
+                web_navigation::OnDOMContentLoaded::kEventName, std::move(args),
                 url);
 }
 
@@ -164,7 +166,7 @@
 
   DispatchEvent(web_contents->GetBrowserContext(),
                 events::WEB_NAVIGATION_ON_COMPLETED,
-                web_navigation::OnCompleted::kEventName, args.Pass(), url);
+                web_navigation::OnCompleted::kEventName, std::move(args), url);
 }
 
 // Constructs and dispatches an onCreatedNavigationTarget event.
@@ -197,7 +199,7 @@
   DispatchEvent(browser_context,
                 events::WEB_NAVIGATION_ON_CREATED_NAVIGATION_TARGET,
                 web_navigation::OnCreatedNavigationTarget::kEventName,
-                args.Pass(), target_url);
+                std::move(args), target_url);
 }
 
 // Constructs and dispatches an onErrorOccurred event.
@@ -218,7 +220,8 @@
 
   DispatchEvent(web_contents->GetBrowserContext(),
                 events::WEB_NAVIGATION_ON_ERROR_OCCURRED,
-                web_navigation::OnErrorOccurred::kEventName, args.Pass(), url);
+                web_navigation::OnErrorOccurred::kEventName, std::move(args),
+                url);
 }
 
 // Constructs and dispatches an onTabReplaced event.
@@ -237,7 +240,8 @@
   args->Append(dict);
 
   DispatchEvent(browser_context, events::WEB_NAVIGATION_ON_TAB_REPLACED,
-                web_navigation::OnTabReplaced::kEventName, args.Pass(), GURL());
+                web_navigation::OnTabReplaced::kEventName, std::move(args),
+                GURL());
 }
 
 }  // namespace web_navigation_api_helpers
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc
index 75f104b..d53da4f0 100644
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_api.h"
 
+#include <utility>
+
 #include "base/lazy_instance.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/task_runner_util.h"
@@ -93,8 +95,8 @@
         extension->permissions_data()->HasAPIPermission("webrtcAudioPrivate")) {
       scoped_ptr<Event> event(
           new Event(events::WEBRTC_AUDIO_PRIVATE_ON_SINKS_CHANGED, kEventName,
-                    make_scoped_ptr(new base::ListValue()).Pass()));
-      router->DispatchEventToExtension(extension_id, event.Pass());
+                    make_scoped_ptr(new base::ListValue())));
+      router->DispatchEventToExtension(extension_id, std::move(event));
     }
   }
 }
diff --git a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
index 4dba5b4e..c00001a 100644
--- a/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
+++ b/chrome/browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc
@@ -120,7 +120,7 @@
     scoped_ptr<base::Value> result(
         RunFunctionAndReturnSingleResult(function.get(), "[]", browser()));
     result->GetAsList(sink_list);
-    return result.Pass();
+    return result;
   }
 
   // Synchronously (from the calling thread's point of view) runs the
diff --git a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
index e49f4f2..ca0831a 100644
--- a/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
+++ b/chrome/browser/extensions/api/webstore_private/webstore_private_api.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/api/webstore_private/webstore_private_api.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/lazy_instance.h"
@@ -314,10 +315,8 @@
   // entry is only valid for some number of minutes.
   scoped_ptr<WebstoreInstaller::Approval> approval(
       WebstoreInstaller::Approval::CreateWithNoInstallPrompt(
-          chrome_details_.GetProfile(),
-          details().id,
-          parsed_manifest_.Pass(),
-          false));
+          chrome_details_.GetProfile(), details().id,
+          std::move(parsed_manifest_), false));
   approval->use_app_installed_bubble = details().app_install_bubble;
   approval->enable_launcher = details().enable_launcher;
   // If we are enabling the launcher, we should not show the app list in order
@@ -327,7 +326,7 @@
   approval->installing_icon = gfx::ImageSkia::CreateFrom1xBitmap(icon_);
   if (details().authuser)
     approval->authuser = *details().authuser;
-  g_pending_approvals.Get().PushApproval(approval.Pass());
+  g_pending_approvals.Get().PushApproval(std::move(approval));
 
   DCHECK(scoped_active_install_.get());
   scoped_active_install_->CancelDeregister();
@@ -402,9 +401,8 @@
   if (!crx_file::id_util::IdIsValid(params->expected_id))
     return RespondNow(Error(kInvalidIdError));
 
-  approval_ =
-      g_pending_approvals.Get().PopApproval(chrome_details_.GetProfile(),
-                                            params->expected_id).Pass();
+  approval_ = g_pending_approvals.Get().PopApproval(
+      chrome_details_.GetProfile(), params->expected_id);
   if (!approval_) {
     return RespondNow(Error(kNoPreviousBeginInstallWithManifestError,
                             params->expected_id));
@@ -436,12 +434,9 @@
   // The extension will install through the normal extension install flow, but
   // the whitelist entry will bypass the normal permissions install dialog.
   scoped_refptr<WebstoreInstaller> installer = new WebstoreInstaller(
-      chrome_details_.GetProfile(),
-      this,
-      chrome_details_.GetAssociatedWebContents(),
-      params->expected_id,
-      approval_.Pass(),
-      WebstoreInstaller::INSTALL_SOURCE_OTHER);
+      chrome_details_.GetProfile(), this,
+      chrome_details_.GetAssociatedWebContents(), params->expected_id,
+      std::move(approval_), WebstoreInstaller::INSTALL_SOURCE_OTHER);
   installer->Start();
 
   return RespondLater();
diff --git a/chrome/browser/extensions/background_app_browsertest.cc b/chrome/browser/extensions/background_app_browsertest.cc
index 2b66f2c..b577be2 100644
--- a/chrome/browser/extensions/background_app_browsertest.cc
+++ b/chrome/browser/extensions/background_app_browsertest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
 #include "chrome/browser/background/background_mode_manager.h"
@@ -53,7 +55,7 @@
           *base::CommandLine::ForCurrentProcess(),
           &(g_browser_process->profile_manager()->GetProfileInfoCache())));
   g_browser_process->set_background_mode_manager_for_test(
-      test_background_mode_manager.Pass());
+      std::move(test_background_mode_manager));
   TestBackgroundModeManager* manager =
       reinterpret_cast<TestBackgroundModeManager*>(
           g_browser_process->background_mode_manager());
diff --git a/chrome/browser/extensions/blob_reader.cc b/chrome/browser/extensions/blob_reader.cc
index 43edf0e1..2427c3f 100644
--- a/chrome/browser/extensions/blob_reader.cc
+++ b/chrome/browser/extensions/blob_reader.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/blob_reader.h"
 
 #include <limits>
+#include <utility>
 
 #include "base/format_macros.h"
 #include "base/strings/string_util.h"
@@ -63,7 +64,7 @@
   int64_t first = 0, last = 0, length = 0;
   source->GetResponseAsString(response.get());
   source->GetResponseHeaders()->GetContentRange(&first, &last, &length);
-  callback_.Run(response.Pass(), length);
+  callback_.Run(std::move(response), length);
 
   delete this;
 }
diff --git a/chrome/browser/extensions/bundle_installer.cc b/chrome/browser/extensions/bundle_installer.cc
index 30e489d9..7e6d269 100644
--- a/chrome/browser/extensions/bundle_installer.cc
+++ b/chrome/browser/extensions/bundle_installer.cc
@@ -6,6 +6,7 @@
 
 #include <algorithm>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/command_line.h"
@@ -185,11 +186,7 @@
         gfx::ImageSkia::CreateFrom1xBitmap(entry.second.icon);
 
     scoped_refptr<WebstoreInstaller> installer = new WebstoreInstaller(
-        profile_,
-        this,
-        web_contents,
-        entry.first,
-        approval.Pass(),
+        profile_, this, web_contents, entry.first, std::move(approval),
         WebstoreInstaller::INSTALL_SOURCE_OTHER);
     installer->Start();
   }
@@ -298,7 +295,7 @@
     }
     prompt->set_bundle(this);
     install_ui_->ShowDialog(
-        this, nullptr, &icon_, prompt.Pass(), permissions.Pass(),
+        this, nullptr, &icon_, std::move(prompt), std::move(permissions),
         ExtensionInstallPrompt::GetDefaultShowDialogCallback());
   }
 }
diff --git a/chrome/browser/extensions/chrome_extension_function.cc b/chrome/browser/extensions/chrome_extension_function.cc
index fe662dd..9519a5f 100644
--- a/chrome/browser/extensions/chrome_extension_function.cc
+++ b/chrome/browser/extensions/chrome_extension_function.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/chrome_extension_function.h"
 
+#include <utility>
+
 #include "chrome/browser/extensions/chrome_extension_function_details.h"
 #include "chrome/browser/extensions/window_controller.h"
 #include "chrome/browser/extensions/window_controller_list.h"
@@ -116,7 +118,8 @@
 ChromeSyncExtensionFunction::~ChromeSyncExtensionFunction() {}
 
 ExtensionFunction::ResponseAction ChromeSyncExtensionFunction::Run() {
-  return RespondNow(RunSync() ? ArgumentList(results_.Pass()) : Error(error_));
+  return RespondNow(RunSync() ? ArgumentList(std::move(results_))
+                              : Error(error_));
 }
 
 // static
diff --git a/chrome/browser/extensions/chrome_extensions_browser_client.cc b/chrome/browser/extensions/chrome_extensions_browser_client.cc
index a658980..2849e123 100644
--- a/chrome/browser/extensions/chrome_extensions_browser_client.cc
+++ b/chrome/browser/extensions/chrome_extensions_browser_client.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/chrome_extensions_browser_client.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/version.h"
 #include "build/build_config.h"
@@ -291,7 +293,7 @@
     const std::string& event_name,
     scoped_ptr<base::ListValue> args) {
   g_browser_process->extension_event_router_forwarder()
-      ->BroadcastEventToRenderers(histogram_value, event_name, args.Pass(),
+      ->BroadcastEventToRenderers(histogram_value, event_name, std::move(args),
                                   GURL());
 }
 
@@ -337,7 +339,7 @@
 void ChromeExtensionsBrowserClient::ReportError(
     content::BrowserContext* context,
     scoped_ptr<ExtensionError> error) {
-  ErrorConsole::Get(context)->ReportError(error.Pass());
+  ErrorConsole::Get(context)->ReportError(std::move(error));
 }
 
 void ChromeExtensionsBrowserClient::CleanUpWebView(
diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
index 92bf9c5..3663a17 100644
--- a/chrome/browser/extensions/crx_installer.cc
+++ b/chrome/browser/extensions/crx_installer.cc
@@ -6,6 +6,7 @@
 
 #include <map>
 #include <set>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file_util.h"
@@ -96,7 +97,7 @@
 scoped_refptr<CrxInstaller> CrxInstaller::Create(
     ExtensionService* frontend,
     scoped_ptr<ExtensionInstallPrompt> client) {
-  return new CrxInstaller(frontend->AsWeakPtr(), client.Pass(), NULL);
+  return new CrxInstaller(frontend->AsWeakPtr(), std::move(client), NULL);
 }
 
 // static
@@ -104,7 +105,7 @@
     ExtensionService* service,
     scoped_ptr<ExtensionInstallPrompt> client,
     const WebstoreInstaller::Approval* approval) {
-  return new CrxInstaller(service->AsWeakPtr(), client.Pass(), approval);
+  return new CrxInstaller(service->AsWeakPtr(), std::move(client), approval);
 }
 
 CrxInstaller::CrxInstaller(base::WeakPtr<ExtensionService> service_weak,
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc
index bec23e4..3393aae 100644
--- a/chrome/browser/extensions/crx_installer_browsertest.cc
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/crx_installer.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/at_exit.h"
 #include "base/files/file_path.h"
@@ -235,12 +236,10 @@
     scoped_ptr<base::DictionaryValue> parsed_manifest(
         file_util::LoadManifest(ext_path, &error));
     if (!parsed_manifest.get() || !error.empty())
-      return result.Pass();
+      return result;
 
     return WebstoreInstaller::Approval::CreateWithNoInstallPrompt(
-        browser()->profile(),
-        id,
-        parsed_manifest.Pass(),
+        browser()->profile(), id, std::move(parsed_manifest),
         strict_manifest_checks);
   }
 
@@ -250,7 +249,7 @@
     ExtensionService* service = extensions::ExtensionSystem::Get(
         browser()->profile())->extension_service();
     scoped_refptr<CrxInstaller> installer(
-        CrxInstaller::Create(service, prompt.Pass(), approval));
+        CrxInstaller::Create(service, std::move(prompt), approval));
     installer->set_allow_silent_install(true);
     installer->set_is_gallery_install(true);
     installer->InstallCrx(crx_path);
diff --git a/chrome/browser/extensions/error_console/error_console.cc b/chrome/browser/extensions/error_console/error_console.cc
index 1e6f0b5..21da015a2 100644
--- a/chrome/browser/extensions/error_console/error_console.cc
+++ b/chrome/browser/extensions/error_console/error_console.cc
@@ -4,6 +4,7 @@
 
 #include "chrome/browser/extensions/error_console/error_console.h"
 
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -144,7 +145,7 @@
   if (!(mask & (1 << error->type())))
     return;
 
-  const ExtensionError* weak_error = errors_.AddError(error.Pass());
+  const ExtensionError* weak_error = errors_.AddError(std::move(error));
   FOR_EACH_OBSERVER(Observer, observers_, OnErrorAdded(weak_error));
 }
 
diff --git a/chrome/browser/extensions/event_router_forwarder.cc b/chrome/browser/extensions/event_router_forwarder.cc
index b92ce90..dd31a78 100644
--- a/chrome/browser/extensions/event_router_forwarder.cc
+++ b/chrome/browser/extensions/event_router_forwarder.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/event_router_forwarder.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/values.h"
@@ -30,8 +31,8 @@
     const std::string& event_name,
     scoped_ptr<base::ListValue> event_args,
     const GURL& event_url) {
-  HandleEvent(std::string(), histogram_value, event_name, event_args.Pass(), 0,
-              true, event_url);
+  HandleEvent(std::string(), histogram_value, event_name, std::move(event_args),
+              0, true, event_url);
 }
 
 void EventRouterForwarder::DispatchEventToRenderers(
@@ -43,7 +44,7 @@
     const GURL& event_url) {
   if (!profile)
     return;
-  HandleEvent(std::string(), histogram_value, event_name, event_args.Pass(),
+  HandleEvent(std::string(), histogram_value, event_name, std::move(event_args),
               profile, use_profile_to_restrict_events, event_url);
 }
 
@@ -53,8 +54,8 @@
     const std::string& event_name,
     scoped_ptr<base::ListValue> event_args,
     const GURL& event_url) {
-  HandleEvent(extension_id, histogram_value, event_name, event_args.Pass(), 0,
-              true, event_url);
+  HandleEvent(extension_id, histogram_value, event_name, std::move(event_args),
+              0, true, event_url);
 }
 
 void EventRouterForwarder::DispatchEventToExtension(
@@ -67,7 +68,7 @@
     const GURL& event_url) {
   if (!profile)
     return;
-  HandleEvent(extension_id, histogram_value, event_name, event_args.Pass(),
+  HandleEvent(extension_id, histogram_value, event_name, std::move(event_args),
               profile, use_profile_to_restrict_events, event_url);
 }
 
@@ -99,7 +100,7 @@
   }
   if (profile) {
     CallEventRouter(profile, extension_id, histogram_value, event_name,
-                    event_args.Pass(),
+                    std::move(event_args),
                     use_profile_to_restrict_events ? profile : NULL, event_url);
   } else {
     std::vector<Profile*> profiles(profile_manager->GetLoadedProfiles());
@@ -107,7 +108,7 @@
       scoped_ptr<base::ListValue> per_profile_event_args(
           event_args->DeepCopy());
       CallEventRouter(profiles[i], extension_id, histogram_value, event_name,
-                      per_profile_event_args.Pass(),
+                      std::move(per_profile_event_args),
                       use_profile_to_restrict_events ? profiles[i] : NULL,
                       event_url);
     }
@@ -131,14 +132,14 @@
 #endif
 
   scoped_ptr<Event> event(
-      new Event(histogram_value, event_name, event_args.Pass()));
+      new Event(histogram_value, event_name, std::move(event_args)));
   event->restrict_to_browser_context = restrict_to_profile;
   event->event_url = event_url;
   if (extension_id.empty()) {
-    extensions::EventRouter::Get(profile)->BroadcastEvent(event.Pass());
+    extensions::EventRouter::Get(profile)->BroadcastEvent(std::move(event));
   } else {
     extensions::EventRouter::Get(profile)
-        ->DispatchEventToExtension(extension_id, event.Pass());
+        ->DispatchEventToExtension(extension_id, std::move(event));
   }
 }
 
diff --git a/chrome/browser/extensions/event_router_forwarder_unittest.cc b/chrome/browser/extensions/event_router_forwarder_unittest.cc
index 24e76fe2..2ca555e98 100644
--- a/chrome/browser/extensions/event_router_forwarder_unittest.cc
+++ b/chrome/browser/extensions/event_router_forwarder_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/event_router_forwarder.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/message_loop/message_loop.h"
 #include "base/power_monitor/power_monitor.h"
@@ -61,7 +63,7 @@
                                       const GURL& url) {
   scoped_ptr<base::ListValue> args(new base::ListValue());
   event_router->BroadcastEventToRenderers(histogram_value, event_name,
-                                          args.Pass(), url);
+                                          std::move(args), url);
 }
 
 static void DispatchEventToRenderers(EventRouterForwarder* event_router,
@@ -72,7 +74,7 @@
                                      const GURL& url) {
   scoped_ptr<base::ListValue> args(new base::ListValue());
   event_router->DispatchEventToRenderers(histogram_value, event_name,
-                                         args.Pass(), profile,
+                                         std::move(args), profile,
                                          use_profile_to_restrict_events, url);
 }
 
@@ -83,7 +85,7 @@
                                       const GURL& url) {
   scoped_ptr<base::ListValue> args(new base::ListValue());
   event_router->BroadcastEventToExtension(extension, histogram_value,
-                                          event_name, args.Pass(), url);
+                                          event_name, std::move(args), url);
 }
 
 static void DispatchEventToExtension(EventRouterForwarder* event_router,
@@ -95,7 +97,7 @@
                                      const GURL& url) {
   scoped_ptr<base::ListValue> args(new base::ListValue());
   event_router->DispatchEventToExtension(extension, histogram_value, event_name,
-                                         args.Pass(), profile,
+                                         std::move(args), profile,
                                          use_profile_to_restrict_events, url);
 }
 
@@ -112,7 +114,7 @@
 #endif
     scoped_ptr<base::PowerMonitorSource> power_monitor_source(
       new base::PowerMonitorDeviceSource());
-    dummy.reset(new base::PowerMonitor(power_monitor_source.Pass()));
+    dummy.reset(new base::PowerMonitor(std::move(power_monitor_source)));
   }
 
   void SetUp() override {
diff --git a/chrome/browser/extensions/extension_action.cc b/chrome/browser/extensions/extension_action.cc
index 3b2225452..5476478 100644
--- a/chrome/browser/extensions/extension_action.cc
+++ b/chrome/browser/extensions/extension_action.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_action.h"
 
 #include <algorithm>
+#include <utility>
 
 #include "base/base64.h"
 #include "base/logging.h"
@@ -289,7 +290,7 @@
 
 void ExtensionAction::SetDefaultIconForTest(
     scoped_ptr<ExtensionIconSet> default_icon) {
-  default_icon_ = default_icon.Pass();
+  default_icon_ = std::move(default_icon);
 }
 
 void ExtensionAction::Populate(const extensions::Extension& extension,
diff --git a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
index bacf0309..50395297 100644
--- a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
+++ b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_action_icon_factory.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/files/file_util.h"
 #include "base/json/json_file_value_serializer.h"
@@ -265,7 +267,7 @@
   scoped_ptr<ExtensionIconSet> default_icon_set(new ExtensionIconSet());
   default_icon_set->Add(19, "icon.png");
 
-  browser_action->SetDefaultIconForTest(default_icon_set.Pass());
+  browser_action->SetDefaultIconForTest(std::move(default_icon_set));
   ASSERT_TRUE(browser_action->default_icon());
 
   ExtensionActionIconFactory icon_factory(
diff --git a/chrome/browser/extensions/extension_action_manager.cc b/chrome/browser/extensions/extension_action_manager.cc
index 2bc8ba66..4fd90e8 100644
--- a/chrome/browser/extensions/extension_action_manager.cc
+++ b/chrome/browser/extensions/extension_action_manager.cc
@@ -145,7 +145,7 @@
   // Populate any missing values from |extension|'s manifest.
   scoped_ptr<ExtensionAction> new_action(new ExtensionAction(
       extension, type, info ? *info : ActionInfo()));
-  return new_action.Pass();
+  return new_action;
 }
 
 ExtensionAction* ExtensionActionManager::GetSystemIndicator(
diff --git a/chrome/browser/extensions/extension_action_storage_manager.cc b/chrome/browser/extensions/extension_action_storage_manager.cc
index 148a3c9..acb0c38 100644
--- a/chrome/browser/extensions/extension_action_storage_manager.cc
+++ b/chrome/browser/extensions/extension_action_storage_manager.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_action_storage_manager.h"
 
 #include <stdint.h>
+#include <utility>
 
 #include "base/base64.h"
 #include "base/bind.h"
@@ -184,7 +185,7 @@
       std::string size_string = base::IntToString(size);
       icon_value->SetString(size_string, BitmapToString(rep.sk_bitmap()));
     }
-    dict->Set(kIconStorageKey, icon_value.Pass());
+    dict->Set(kIconStorageKey, std::move(icon_value));
   }
   return dict;
 }
@@ -246,8 +247,7 @@
     scoped_ptr<base::DictionaryValue> defaults =
         DefaultsToValue(extension_action);
     store->SetExtensionValue(extension_action->extension_id(),
-                             kBrowserActionStorageKey,
-                             defaults.Pass());
+                             kBrowserActionStorageKey, std::move(defaults));
   }
 }
 
diff --git a/chrome/browser/extensions/extension_apitest.cc b/chrome/browser/extensions/extension_apitest.cc
index 3c58277..e496012 100644
--- a/chrome/browser/extensions/extension_apitest.cc
+++ b/chrome/browser/extensions/extension_apitest.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_apitest.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/base_switches.h"
 #include "base/strings/string_split.h"
@@ -57,7 +58,7 @@
       new net::test_server::BasicHttpResponse);
   http_response->set_code(net::HTTP_MOVED_PERMANENTLY);
   http_response->AddCustomHeader("Location", redirect_target);
-  return http_response.Pass();
+  return std::move(http_response);
 }
 
 scoped_ptr<net::test_server::HttpResponse> HandleEchoHeaderRequest(
@@ -79,7 +80,7 @@
       new net::test_server::BasicHttpResponse);
   http_response->set_code(net::HTTP_OK);
   http_response->set_content(header_value);
-  return http_response.Pass();
+  return std::move(http_response);
 }
 
 scoped_ptr<net::test_server::HttpResponse> HandleSetCookieRequest(
@@ -100,7 +101,7 @@
            cookie_value, "&", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL))
     http_response->AddCustomHeader("Set-Cookie", cookie);
 
-  return http_response.Pass();
+  return std::move(http_response);
 }
 
 scoped_ptr<net::test_server::HttpResponse> HandleSetHeaderRequest(
@@ -131,7 +132,7 @@
       new net::test_server::BasicHttpResponse);
   http_response->set_code(net::HTTP_OK);
   http_response->AddCustomHeader(header_name, header_value);
-  return http_response.Pass();
+  return std::move(http_response);
 }
 
 };  // namespace
diff --git a/chrome/browser/extensions/extension_browsertest.cc b/chrome/browser/extensions/extension_browsertest.cc
index 71b867d..ace18cd 100644
--- a/chrome/browser/extensions/extension_browsertest.cc
+++ b/chrome/browser/extensions/extension_browsertest.cc
@@ -5,7 +5,7 @@
 #include "chrome/browser/extensions/extension_browsertest.h"
 
 #include <stddef.h>
-
+#include <utility>
 #include <vector>
 
 #include "base/command_line.h"
@@ -496,7 +496,7 @@
          browser->tab_strip_model()->GetActiveWebContents()));
     }
     scoped_refptr<extensions::CrxInstaller> installer(
-        extensions::CrxInstaller::Create(service, install_ui.Pass()));
+        extensions::CrxInstaller::Create(service, std::move(install_ui)));
     installer->set_expected_id(id);
     installer->set_creation_flags(creation_flags);
     installer->set_install_source(install_source);
diff --git a/chrome/browser/extensions/extension_context_menu_model_unittest.cc b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
index bba89f1..8d621df84 100644
--- a/chrome/browser/extensions/extension_context_menu_model_unittest.cc
+++ b/chrome/browser/extensions/extension_context_menu_model_unittest.cc
@@ -270,7 +270,7 @@
     manifest->SetString("options_page", "options_page.html");
     scoped_refptr<const Extension> extension =
         ExtensionBuilder()
-            .SetManifest(manifest.Pass())
+            .SetManifest(std::move(manifest))
             .SetID(crx_file::id_util::GenerateId("component_opts"))
             .SetLocation(Manifest::COMPONENT)
             .Build();
diff --git a/chrome/browser/extensions/extension_disabled_ui.cc b/chrome/browser/extensions/extension_disabled_ui.cc
index 54a13321..0e096b5 100644
--- a/chrome/browser/extensions/extension_disabled_ui.cc
+++ b/chrome/browser/extensions/extension_disabled_ui.cc
@@ -6,6 +6,7 @@
 
 #include <bitset>
 #include <string>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/lazy_instance.h"
@@ -119,7 +120,7 @@
     ExtensionService* service,
     scoped_ptr<ExtensionInstallPrompt> install_ui,
     const Extension* extension)
-    : install_ui_(install_ui.Pass()),
+    : install_ui_(std::move(install_ui)),
       service_(service),
       extension_(extension) {
   AddRef();  // Balanced in Proceed or Abort.
@@ -511,7 +512,8 @@
   scoped_ptr<ExtensionInstallPrompt> install_ui(
       new ExtensionInstallPrompt(web_contents));
   // This object manages its own lifetime.
-  new ExtensionDisabledDialogDelegate(service, install_ui.Pass(), extension);
+  new ExtensionDisabledDialogDelegate(service, std::move(install_ui),
+                                      extension);
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/extension_function_test_utils.cc b/chrome/browser/extensions/extension_function_test_utils.cc
index 3dec01e..0446ff3 100644
--- a/chrome/browser/extensions/extension_function_test_utils.cc
+++ b/chrome/browser/extensions/extension_function_test_utils.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_function_test_utils.h"
 
 #include <string>
+#include <utility>
 
 #include "base/files/file_path.h"
 #include "base/json/json_reader.h"
@@ -165,7 +166,7 @@
   scoped_ptr<base::ListValue> parsed_args(ParseList(args));
   EXPECT_TRUE(parsed_args.get())
       << "Could not parse extension function arguments: " << args;
-  return RunFunction(function, parsed_args.Pass(), browser, flags);
+  return RunFunction(function, std::move(parsed_args), browser, flags);
 }
 
 bool RunFunction(UIThreadExtensionFunction* function,
@@ -179,10 +180,7 @@
   // TODO(yoz): The cast is a hack; these flags should be defined in
   // only one place.  See crbug.com/394840.
   return extensions::api_test_utils::RunFunction(
-      function,
-      args.Pass(),
-      browser->profile(),
-      dispatcher.Pass(),
+      function, std::move(args), browser->profile(), std::move(dispatcher),
       static_cast<extensions::api_test_utils::RunFunctionFlags>(flags));
 }
 
diff --git a/chrome/browser/extensions/extension_garbage_collector.cc b/chrome/browser/extensions/extension_garbage_collector.cc
index 1d494e81..ff9e72a 100644
--- a/chrome/browser/extensions/extension_garbage_collector.cc
+++ b/chrome/browser/extensions/extension_garbage_collector.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_garbage_collector.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/files/file_enumerator.h"
@@ -236,8 +237,7 @@
       ExtensionSystem::Get(context_)->extension_service();
   service->OnGarbageCollectIsolatedStorageStart();
   content::BrowserContext::GarbageCollectStoragePartitions(
-      context_,
-      active_paths.Pass(),
+      context_, std::move(active_paths),
       base::Bind(&ExtensionService::OnGarbageCollectIsolatedStorageFinished,
                  service->AsWeakPtr()));
 }
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index 4c1af25..6345f4f 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_install_prompt.h"
 
+#include <utility>
+
 #include "base/location.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/string_util.h"
@@ -656,7 +658,7 @@
     const SkBitmap* icon,
     scoped_ptr<Prompt> prompt,
     const ShowDialogCallback& show_dialog_callback) {
-  ShowDialog(delegate, extension, icon, prompt.Pass(), nullptr,
+  ShowDialog(delegate, extension, icon, std::move(prompt), nullptr,
              show_dialog_callback);
 }
 
@@ -673,8 +675,8 @@
   delegate_ = delegate;
   if (icon && !icon->empty())
     SetIcon(icon);
-  prompt_ = prompt.Pass();
-  custom_permissions_ = custom_permissions.Pass();
+  prompt_ = std::move(prompt);
+  custom_permissions_ = std::move(custom_permissions);
   show_dialog_callback_ = show_dialog_callback;
 
   // We special-case themes to not show any confirm UI. Instead they are
@@ -843,7 +845,8 @@
 
   if (show_dialog_callback_.is_null())
     GetDefaultShowDialogCallback().Run(show_params_.get(), delegate_,
-                                       prompt_.Pass());
+                                       std::move(prompt_));
   else
-    show_dialog_callback_.Run(show_params_.get(), delegate_, prompt_.Pass());
+    show_dialog_callback_.Run(show_params_.get(), delegate_,
+                              std::move(prompt_));
 }
diff --git a/chrome/browser/extensions/extension_install_prompt_unittest.cc b/chrome/browser/extensions/extension_install_prompt_unittest.cc
index 7b1c31f..65eebf62 100644
--- a/chrome/browser/extensions/extension_install_prompt_unittest.cc
+++ b/chrome/browser/extensions/extension_install_prompt_unittest.cc
@@ -117,7 +117,7 @@
       extension.get(), nullptr,
       make_scoped_ptr(new ExtensionInstallPrompt::Prompt(
           ExtensionInstallPrompt::PERMISSIONS_PROMPT)),
-      permission_set.Pass(),
+      std::move(permission_set),
       base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(),
                  1u,    // |regular_permissions_count|.
                  0u));  // |withheld_permissions_count|.
@@ -184,7 +184,7 @@
   sub_prompt->set_delegated_username("Username");
   prompt.ShowDialog(
       nullptr,  // no delegate
-      extension.get(), nullptr, sub_prompt.Pass(),
+      extension.get(), nullptr, std::move(sub_prompt),
       base::Bind(&VerifyPromptPermissionsCallback, run_loop.QuitClosure(),
                  2u,    // |regular_permissions_count|.
                  0u));  // |withheld_permissions_count|.
diff --git a/chrome/browser/extensions/extension_keybinding_registry.cc b/chrome/browser/extensions/extension_keybinding_registry.cc
index 69054356..69e09f2 100644
--- a/chrome/browser/extensions/extension_keybinding_registry.cc
+++ b/chrome/browser/extensions/extension_keybinding_registry.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_keybinding_registry.h"
 
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/extensions/active_tab_permission_granter.h"
 #include "chrome/browser/profiles/profile.h"
@@ -120,12 +122,12 @@
   scoped_ptr<base::ListValue> args(new base::ListValue());
   args->Append(new base::StringValue(command));
 
-  scoped_ptr<Event> event(
-      new Event(events::COMMANDS_ON_COMMAND, kOnCommandEventName, args.Pass()));
+  scoped_ptr<Event> event(new Event(events::COMMANDS_ON_COMMAND,
+                                    kOnCommandEventName, std::move(args)));
   event->restrict_to_browser_context = browser_context_;
   event->user_gesture = EventRouter::USER_GESTURE_ENABLED;
   EventRouter::Get(browser_context_)
-      ->DispatchEventToExtension(extension_id, event.Pass());
+      ->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 bool ExtensionKeybindingRegistry::IsAcceleratorRegistered(
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
index 202a1bd..a048162 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_management.h"
 
 #include <algorithm>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/bind_helpers.h"
@@ -115,7 +116,7 @@
           install_list.get(), it->first, it->second->update_url);
     }
   }
-  return install_list.Pass();
+  return install_list;
 }
 
 scoped_ptr<base::DictionaryValue>
@@ -129,7 +130,7 @@
           install_list.get(), it->first, it->second->update_url);
     }
   }
-  return install_list.Pass();
+  return install_list;
 }
 
 bool ExtensionManagement::IsInstallationExplicitlyAllowed(
@@ -442,7 +443,7 @@
   if (it == settings_by_id_.end()) {
     scoped_ptr<internal::IndividualSettings> settings(
         new internal::IndividualSettings(default_settings_.get()));
-    it = settings_by_id_.add(id, settings.Pass()).first;
+    it = settings_by_id_.add(id, std::move(settings)).first;
   }
   return it->second;
 }
@@ -454,7 +455,7 @@
   if (it == settings_by_update_url_.end()) {
     scoped_ptr<internal::IndividualSettings> settings(
         new internal::IndividualSettings(default_settings_.get()));
-    it = settings_by_update_url_.add(update_url, settings.Pass()).first;
+    it = settings_by_update_url_.add(update_url, std::move(settings)).first;
   }
   return it->second;
 }
diff --git a/chrome/browser/extensions/extension_management_internal.cc b/chrome/browser/extensions/extension_management_internal.cc
index df1bbe7..2673477a 100644
--- a/chrome/browser/extensions/extension_management_internal.cc
+++ b/chrome/browser/extensions/extension_management_internal.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_management_internal.h"
 
+#include <utility>
+
 #include "base/logging.h"
 #include "base/values.h"
 #include "base/version.h"
@@ -142,7 +144,7 @@
     if (!version->IsValid())
       LOG(WARNING) << kMalformedPreferenceWarning;
     else
-      minimum_version_required = version.Pass();
+      minimum_version_required = std::move(version);
   }
 
   return true;
diff --git a/chrome/browser/extensions/extension_management_test_util.cc b/chrome/browser/extensions/extension_management_test_util.cc
index 1b288ea2..b33464f 100644
--- a/chrome/browser/extensions/extension_management_test_util.cc
+++ b/chrome/browser/extensions/extension_management_test_util.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_management_test_util.h"
 
 #include <string>
+#include <utility>
 
 #include "components/crx_file/id_util.h"
 #include "components/policy/core/common/configuration_policy_provider.h"
@@ -216,7 +217,7 @@
 
 scoped_ptr<base::DictionaryValue>
 ExtensionManagementPrefUpdaterBase::TakePref() {
-  return pref_.Pass();
+  return std::move(pref_);
 }
 
 void ExtensionManagementPrefUpdaterBase::ClearList(const std::string& path) {
@@ -265,7 +266,7 @@
       .Set(policy::key::kExtensionSettings, policy::POLICY_LEVEL_MANDATORY,
            policy::POLICY_SCOPE_USER, policy::POLICY_SOURCE_CLOUD,
            TakePref().release(), nullptr);
-  provider_->UpdatePolicy(policies_.Pass());
+  provider_->UpdatePolicy(std::move(policies_));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/extension_messages_apitest.cc b/chrome/browser/extensions/extension_messages_apitest.cc
index 4b9cf9b..eb2c6ba 100644
--- a/chrome/browser/extensions/extension_messages_apitest.cc
+++ b/chrome/browser/extensions/extension_messages_apitest.cc
@@ -4,6 +4,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/base64.h"
 #include "base/files/file_path.h"
@@ -67,17 +68,17 @@
     event->SetString("data", data);
     scoped_ptr<base::ListValue> arguments(new base::ListValue());
     arguments->Append(event);
-    return arguments.Pass();
+    return arguments;
   }
 
   static scoped_ptr<Event> BuildEvent(scoped_ptr<base::ListValue> event_args,
                                       Profile* profile,
                                       GURL event_url) {
     scoped_ptr<Event> event(new Event(events::TEST_ON_MESSAGE, "test.onMessage",
-                                      event_args.Pass()));
+                                      std::move(event_args)));
     event->restrict_to_browser_context = profile;
     event->event_url = event_url;
-    return event.Pass();
+    return event;
   }
 
   void Observe(int type,
diff --git a/chrome/browser/extensions/extension_migrator.cc b/chrome/browser/extensions/extension_migrator.cc
index 4f10a7c..cf27b62 100644
--- a/chrome/browser/extensions/extension_migrator.cc
+++ b/chrome/browser/extensions/extension_migrator.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_migrator.h"
 
+#include <utility>
+
 #include "base/values.h"
 #include "chrome/browser/defaults.h"
 #include "chrome/browser/extensions/external_provider_impl.h"
@@ -32,7 +34,7 @@
         ExternalProviderImpl::kExternalUpdateUrl,
         extension_urls::GetWebstoreUpdateUrl().spec());
 
-    prefs_->SetWithoutPathExpansion(new_id_, entry.Pass());
+    prefs_->SetWithoutPathExpansion(new_id_, std::move(entry));
   }
 
   LoadFinished();
diff --git a/chrome/browser/extensions/extension_request_limiting_throttle_browsertest.cc b/chrome/browser/extensions/extension_request_limiting_throttle_browsertest.cc
index 369abcc..2fc28d3d3 100644
--- a/chrome/browser/extensions/extension_request_limiting_throttle_browsertest.cc
+++ b/chrome/browser/extensions/extension_request_limiting_throttle_browsertest.cc
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/strings/string_util.h"
@@ -37,7 +39,7 @@
     http_response->AddCustomHeader("Location", "/test_throttle");
     if (set_cache_header_redirect_page)
       http_response->AddCustomHeader("Cache-Control", "max-age=3600");
-    return http_response.Pass();
+    return std::move(http_response);
   }
 
   if (base::StartsWith(request.relative_url, "/test_throttle",
@@ -49,7 +51,7 @@
     http_response->set_content_type("text/plain");
     if (set_cache_header_test_throttle_page)
       http_response->AddCustomHeader("Cache-Control", "max-age=3600");
-    return http_response.Pass();
+    return std::move(http_response);
   }
 
   // Unhandled requests result in the Embedded test server sending a 404.
@@ -99,7 +101,7 @@
           // Don't use initial delay unless the last request was an error.
           false,
       });
-      manager->SetBackoffPolicyForTests(policy.Pass());
+      manager->SetBackoffPolicyForTests(std::move(policy));
     }
     // Requests to 127.0.0.1 bypass throttling, so set up a host resolver rule
     // to use a fake domain.
diff --git a/chrome/browser/extensions/extension_service_test_base.cc b/chrome/browser/extensions/extension_service_test_base.cc
index c9269fcb..78cfc04 100644
--- a/chrome/browser/extensions/extension_service_test_base.cc
+++ b/chrome/browser/extensions/extension_service_test_base.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_service_test_base.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/files/file_util.h"
 #include "base/memory/ref_counted.h"
@@ -57,7 +59,7 @@
     scoped_ptr<syncable_prefs::PrefServiceSyncable> prefs(
         factory.CreateSyncable(registry.get()));
     chrome::RegisterUserProfilePrefs(registry.get());
-    profile_builder.SetPrefService(prefs.Pass());
+    profile_builder.SetPrefService(std::move(prefs));
   }
 
   if (params.profile_is_supervised)
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index 8dd46ac..084ca228 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -2,13 +2,15 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/extension_service.h"
+
 #include <stddef.h>
 #include <stdint.h>
-
 #include <algorithm>
 #include <map>
 #include <set>
 #include <string>
+#include <utility>
 #include <vector>
 
 #include "base/at_exit.h"
@@ -47,7 +49,6 @@
 #include "chrome/browser/extensions/extension_error_reporter.h"
 #include "chrome/browser/extensions/extension_error_ui.h"
 #include "chrome/browser/extensions/extension_management_test_util.h"
-#include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_service_test_base.h"
 #include "chrome/browser/extensions/extension_service_test_with_install.h"
 #include "chrome/browser/extensions/extension_special_storage_policy.h"
@@ -325,7 +326,7 @@
       NOTREACHED() << "Unable to deserialize json data";
       return -1;
     } else {
-      prefs_ = base::DictionaryValue::From(json_value.Pass());
+      prefs_ = base::DictionaryValue::From(std::move(json_value));
     }
 
     // Reset our counter.
diff --git a/chrome/browser/extensions/extension_storage_monitor.cc b/chrome/browser/extensions/extension_storage_monitor.cc
index 690d488..93b12f41 100644
--- a/chrome/browser/extensions/extension_storage_monitor.cc
+++ b/chrome/browser/extensions/extension_storage_monitor.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/extension_storage_monitor.h"
 
 #include <map>
+#include <utility>
 
 #include "base/metrics/histogram.h"
 #include "base/strings/string_number_conversions.h"
@@ -447,7 +448,8 @@
           base::Bind(&ExtensionStorageMonitor::OnNotificationButtonClick,
                      weak_ptr_factory_.GetWeakPtr(), extension_id))));
   notification->SetSystemPriority();
-  message_center::MessageCenter::Get()->AddNotification(notification.Pass());
+  message_center::MessageCenter::Get()->AddNotification(
+      std::move(notification));
 
   notified_extension_ids_.insert(extension_id);
 }
diff --git a/chrome/browser/extensions/extension_sync_data.cc b/chrome/browser/extensions/extension_sync_data.cc
index 70ccc91..1fc56d45 100644
--- a/chrome/browser/extensions/extension_sync_data.cc
+++ b/chrome/browser/extensions/extension_sync_data.cc
@@ -141,7 +141,7 @@
     const syncer::SyncData& sync_data) {
   scoped_ptr<ExtensionSyncData> data(new ExtensionSyncData);
   if (data->PopulateFromSyncData(sync_data))
-    return data.Pass();
+    return data;
   return nullptr;
 }
 
@@ -155,7 +155,7 @@
 
   if (sync_change.change_type() == syncer::SyncChange::ACTION_DELETE)
     data->uninstalled_ = true;
-  return data.Pass();
+  return data;
 }
 
 syncer::SyncData ExtensionSyncData::GetSyncData() const {
diff --git a/chrome/browser/extensions/extension_sync_service.cc b/chrome/browser/extensions/extension_sync_service.cc
index 4bb8cf6..08a3c509 100644
--- a/chrome/browser/extensions/extension_sync_service.cc
+++ b/chrome/browser/extensions/extension_sync_service.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/extension_sync_service.h"
 
+#include <utility>
+
 #include "base/auto_reset.h"
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/extensions/bookmark_app_helper.h"
@@ -190,7 +192,7 @@
       << "Got " << type << " ModelType";
 
   SyncBundle* bundle = GetSyncBundle(type);
-  bundle->StartSyncing(sync_processor.Pass());
+  bundle->StartSyncing(std::move(sync_processor));
 
   // Apply the initial sync data, filtering out any items where we have more
   // recent local changes. Also tell the SyncBundle the extension IDs.
diff --git a/chrome/browser/extensions/extension_tab_util.cc b/chrome/browser/extensions/extension_tab_util.cc
index 4651a09..30821a3 100644
--- a/chrome/browser/extensions/extension_tab_util.cc
+++ b/chrome/browser/extensions/extension_tab_util.cc
@@ -401,7 +401,7 @@
   result->SetBoolean(keys::kPinnedKey,
                      tab_strip && tab_strip->IsTabPinned(tab_index));
   result->SetBoolean(keys::kAudibleKey, contents->WasRecentlyAudible());
-  result->Set(keys::kMutedInfoKey, CreateMutedInfo(contents).Pass());
+  result->Set(keys::kMutedInfoKey, CreateMutedInfo(contents));
   result->SetBoolean(keys::kIncognitoKey,
                      contents->GetBrowserContext()->IsOffTheRecord());
   result->SetInteger(keys::kWidthKey,
diff --git a/chrome/browser/extensions/extension_util.cc b/chrome/browser/extensions/extension_util.cc
index 5b4bfd48..4406eb9 100644
--- a/chrome/browser/extensions/extension_util.cc
+++ b/chrome/browser/extensions/extension_util.cc
@@ -345,7 +345,7 @@
       NULL);  // Don't set bool if exists.
   dict->SetString("icon", icon.spec());
 
-  return dict.Pass();
+  return dict;
 }
 
 const gfx::ImageSkia& GetDefaultAppIcon() {
diff --git a/chrome/browser/extensions/external_install_error.cc b/chrome/browser/extensions/external_install_error.cc
index cd13c27..3b52ef7 100644
--- a/chrome/browser/extensions/external_install_error.cc
+++ b/chrome/browser/extensions/external_install_error.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/external_install_error.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/bind.h"
 #include "base/macros.h"
@@ -336,7 +337,7 @@
   install_ui_show_params_.reset(
       new ExtensionInstallPromptShowParams(web_contents));
   ExtensionInstallPrompt::GetDefaultShowDialogCallback().Run(
-      install_ui_show_params_.get(), this, prompt_.Pass());
+      install_ui_show_params_.get(), this, std::move(prompt_));
 }
 
 const Extension* ExternalInstallError::GetExtension() const {
@@ -385,7 +386,7 @@
 
   install_ui_->ShowDialog(this, GetExtension(),
                           nullptr,  // Force a fetch of the icon.
-                          prompt_.Pass(),
+                          std::move(prompt_),
                           base::Bind(&ExternalInstallError::OnDialogReady,
                                      weak_factory_.GetWeakPtr()));
 }
@@ -395,7 +396,7 @@
     ExtensionInstallPrompt::Delegate* prompt_delegate,
     scoped_ptr<ExtensionInstallPrompt::Prompt> prompt) {
   DCHECK_EQ(this, prompt_delegate);
-  prompt_ = prompt.Pass();
+  prompt_ = std::move(prompt);
 
   if (alert_type_ == BUBBLE_ALERT) {
     global_error_.reset(new ExternalInstallBubbleAlert(this, prompt_.get()));
diff --git a/chrome/browser/extensions/external_pref_loader.cc b/chrome/browser/extensions/external_pref_loader.cc
index be5f52e..1cd9e117 100644
--- a/chrome/browser/extensions/external_pref_loader.cc
+++ b/chrome/browser/extensions/external_pref_loader.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/external_pref_loader.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/files/file_enumerator.h"
 #include "base/files/file_path.h"
@@ -86,7 +88,7 @@
   }
 
   scoped_ptr<base::DictionaryValue> ext_dictionary =
-      base::DictionaryValue::From(extensions.Pass());
+      base::DictionaryValue::From(std::move(extensions));
   if (ext_dictionary) {
     return ext_dictionary;
   }
diff --git a/chrome/browser/extensions/external_provider_impl_unittest.cc b/chrome/browser/extensions/external_provider_impl_unittest.cc
index 8b1085b4..649626e 100644
--- a/chrome/browser/extensions/external_provider_impl_unittest.cc
+++ b/chrome/browser/extensions/external_provider_impl_unittest.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/external_provider_impl.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
@@ -129,7 +131,7 @@
           extension_misc::kInAppPaymentsSupportAppId,
           test_server_->GetURL(kAppPath).spec().c_str()));
       response->set_content_type("text/xml");
-      return response.Pass();
+      return std::move(response);
     }
     if (url.path() == kAppPath) {
       base::FilePath test_data_dir;
@@ -141,7 +143,7 @@
       scoped_ptr<BasicHttpResponse> response(new BasicHttpResponse);
       response->set_code(net::HTTP_OK);
       response->set_content(contents);
-      return response.Pass();
+      return std::move(response);
     }
 
     return nullptr;
diff --git a/chrome/browser/extensions/install_signer.cc b/chrome/browser/extensions/install_signer.cc
index 6a0a0dc8..7ce0ccb 100644
--- a/chrome/browser/extensions/install_signer.cc
+++ b/chrome/browser/extensions/install_signer.cc
@@ -6,6 +6,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <utility>
 
 #include "base/base64.h"
 #include "base/bind.h"
@@ -191,7 +192,7 @@
   if (!value.GetInteger(kSignatureFormatVersionKey, &format_version) ||
       format_version != kSignatureFormatVersion) {
     result.reset();
-    return result.Pass();
+    return result;
   }
 
   std::string salt_base64;
@@ -202,7 +203,7 @@
       !base::Base64Decode(salt_base64, &result->salt) ||
       !base::Base64Decode(signature_base64, &result->signature)) {
     result.reset();
-    return result.Pass();
+    return result;
   }
 
   // Note: earlier versions of the code did not write out a timestamp value
@@ -213,7 +214,7 @@
     if (!value.GetString(kTimestampKey, &timestamp) ||
         !base::StringToInt64(timestamp, &timestamp_value)) {
       result.reset();
-      return result.Pass();
+      return result;
     }
     result->timestamp = base::Time::FromInternalValue(timestamp_value);
   }
@@ -221,10 +222,10 @@
   if (!GetExtensionIdSet(value, kIdsKey, &result->ids) ||
       !GetExtensionIdSet(value, kInvalidIdsKey, &result->invalid_ids)) {
     result.reset();
-    return result.Pass();
+    return result;
   }
 
-  return result.Pass();
+  return result;
 }
 
 
@@ -507,7 +508,7 @@
   }
 
   if (!callback_.is_null())
-    callback_.Run(result.Pass());
+    callback_.Run(std::move(result));
 }
 
 
diff --git a/chrome/browser/extensions/install_verifier.cc b/chrome/browser/extensions/install_verifier.cc
index ba9b12cb..8cc3a60 100644
--- a/chrome/browser/extensions/install_verifier.cc
+++ b/chrome/browser/extensions/install_verifier.cc
@@ -6,6 +6,7 @@
 
 #include <algorithm>
 #include <string>
+#include <utility>
 
 #include "base/base_switches.h"
 #include "base/bind.h"
@@ -235,7 +236,7 @@
       LogInitResultHistogram(INIT_INVALID_SIGNATURE);
       DVLOG(1) << "Init - ignoring invalid signature";
     } else {
-      signature_ = signature_from_prefs.Pass();
+      signature_ = std::move(signature_from_prefs);
       LogInitResultHistogram(INIT_VALID_SIGNATURE);
       UMA_HISTOGRAM_COUNTS_100("ExtensionInstallVerifier.InitSignatureCount",
                                signature_->ids.size());
@@ -636,7 +637,7 @@
     // TODO(asargent) - if this was something like a network error, we need to
     // do retries with exponential back off.
   } else {
-    signature_ = signature.Pass();
+    signature_ = std::move(signature);
     SaveToPrefs();
 
     if (!provisional_.empty()) {
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc
index 9d10cad..665323b2 100644
--- a/chrome/browser/extensions/isolated_app_browsertest.cc
+++ b/chrome/browser/extensions/isolated_app_browsertest.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/strings/stringprintf.h"
 #include "base/strings/utf_string_conversions.h"
@@ -98,7 +99,7 @@
       http_response->AddCustomHeader("Set-Cookie", cookies_to_set[i]);
   }
 
-  return http_response.Pass();
+  return std::move(http_response);
 }
 
 class IsolatedAppTest : public ExtensionBrowserTest {
diff --git a/chrome/browser/extensions/menu_manager.cc b/chrome/browser/extensions/menu_manager.cc
index e70a315..606183d 100644
--- a/chrome/browser/extensions/menu_manager.cc
+++ b/chrome/browser/extensions/menu_manager.cc
@@ -6,6 +6,7 @@
 
 #include <algorithm>
 #include <tuple>
+#include <utility>
 
 #include "base/json/json_writer.h"
 #include "base/logging.h"
@@ -214,7 +215,7 @@
   value->Set(kDocumentURLPatternsKey,
              document_url_patterns_.ToValue().release());
   value->Set(kTargetURLPatternsKey, target_url_patterns_.ToValue().release());
-  return value.Pass();
+  return value;
 }
 
 // static
@@ -718,7 +719,8 @@
                   scoped_ptr<base::ListValue>(args->DeepCopy())));
     event->restrict_to_browser_context = context;
     event->user_gesture = EventRouter::USER_GESTURE_ENABLED;
-    event_router->DispatchEventToExtension(item->extension_id(), event.Pass());
+    event_router->DispatchEventToExtension(item->extension_id(),
+                                           std::move(event));
   }
   {
     // Dispatch to .contextMenus.onClicked handler.
@@ -727,12 +729,13 @@
                       : events::CONTEXT_MENUS_ON_CLICKED,
         webview_guest ? api::chrome_web_view_internal::OnClicked::kEventName
                       : api::context_menus::OnClicked::kEventName,
-        args.Pass()));
+        std::move(args)));
     event->restrict_to_browser_context = context;
     event->user_gesture = EventRouter::USER_GESTURE_ENABLED;
     if (webview_guest)
       event->filter_info.SetInstanceID(webview_guest->view_instance_id());
-    event_router->DispatchEventToExtension(item->extension_id(), event.Pass());
+    event_router->DispatchEventToExtension(item->extension_id(),
+                                           std::move(event));
   }
 }
 
diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc
index dbec44b2..b191731 100644
--- a/chrome/browser/extensions/permissions_updater.cc
+++ b/chrome/browser/extensions/permissions_updater.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/permissions_updater.h"
 
+#include <utility>
+
 #include "base/memory/ref_counted.h"
 #include "base/values.h"
 #include "chrome/browser/extensions/api/permissions/permissions_api_helpers.h"
@@ -92,7 +94,7 @@
   scoped_ptr<const PermissionSet> new_withheld =
       PermissionSet::CreateDifference(
           extension->permissions_data()->withheld_permissions(), permissions);
-  SetPermissions(extension, total.Pass(), new_withheld.Pass());
+  SetPermissions(extension, std::move(total), std::move(new_withheld));
 
   // Update the granted permissions so we don't auto-disable the extension.
   GrantActivePermissions(extension);
@@ -121,7 +123,7 @@
   scoped_ptr<const PermissionSet> withheld = PermissionSet::CreateUnion(
       *removed_withheld, extension->permissions_data()->withheld_permissions());
 
-  SetPermissions(extension, remaining.Pass(), withheld.Pass());
+  SetPermissions(extension, std::move(remaining), std::move(withheld));
 
   // We might not want to revoke the granted permissions because the extension,
   // not the user, removed the permissions. This allows the extension to add
@@ -146,7 +148,7 @@
   scoped_ptr<const PermissionSet> successfully_removed =
       PermissionSet::CreateDifference(active, *total);
 
-  SetPermissions(extension, total.Pass(), nullptr);
+  SetPermissions(extension, std::move(total), nullptr);
   NotifyPermissionsUpdated(REMOVED, extension, *successfully_removed);
 }
 
@@ -195,8 +197,8 @@
                            &withheld_permissions,
                            (init_flag_ & INIT_FLAG_TRANSIENT) != 0);
 
-  SetPermissions(extension, granted_permissions.Pass(),
-                 withheld_permissions.Pass());
+  SetPermissions(extension, std::move(granted_permissions),
+                 std::move(withheld_permissions));
 }
 
 void PermissionsUpdater::SetPermissions(
@@ -206,10 +208,10 @@
   DCHECK(active);
   const PermissionSet& active_weak = *active;
   if (withheld) {
-    extension->permissions_data()->SetPermissions(active.Pass(),
-                                                  withheld.Pass());
+    extension->permissions_data()->SetPermissions(std::move(active),
+                                                  std::move(withheld));
   } else {
-    extension->permissions_data()->SetActivePermissions(active.Pass());
+    extension->permissions_data()->SetActivePermissions(std::move(active));
   }
 
   if ((init_flag_ & INIT_FLAG_TRANSIENT) == 0) {
@@ -231,9 +233,10 @@
   scoped_ptr<api::permissions::Permissions> permissions =
       PackPermissionSet(changed_permissions);
   value->Append(permissions->ToValue().release());
-  scoped_ptr<Event> event(new Event(histogram_value, event_name, value.Pass()));
+  scoped_ptr<Event> event(
+      new Event(histogram_value, event_name, std::move(value)));
   event->restrict_to_browser_context = browser_context_;
-  event_router->DispatchEventToExtension(extension_id, event.Pass());
+  event_router->DispatchEventToExtension(extension_id, std::move(event));
 }
 
 void PermissionsUpdater::NotifyPermissionsUpdated(
diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc
index 6d8a895..0f39143 100644
--- a/chrome/browser/extensions/permissions_updater_unittest.cc
+++ b/chrome/browser/extensions/permissions_updater_unittest.cc
@@ -2,6 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/permissions_updater.h"
+
+#include <utility>
+
 #include "base/files/file_path.h"
 #include "base/json/json_file_value_serializer.h"
 #include "base/memory/ref_counted.h"
@@ -12,7 +16,6 @@
 #include "chrome/browser/extensions/extension_service.h"
 #include "chrome/browser/extensions/extension_service_test_base.h"
 #include "chrome/browser/extensions/extension_util.h"
-#include "chrome/browser/extensions/permissions_updater.h"
 #include "chrome/common/chrome_paths.h"
 #include "chrome/common/extensions/extension_test_util.h"
 #include "chrome/test/base/testing_profile.h"
@@ -47,7 +50,7 @@
               .Set("description", "foo")
               .Set("manifest_version", 2)
               .Set("version", "0.1.2.3")
-              .Set("permissions", permissions.Pass())
+              .Set("permissions", std::move(permissions))
               .Set("optional_permissions", std::move(optional_permissions))))
       .SetID(crx_file::id_util::GenerateId(name))
       .Build();
diff --git a/chrome/browser/extensions/policy_handlers.cc b/chrome/browser/extensions/policy_handlers.cc
index 5b65f24..042d1cf 100644
--- a/chrome/browser/extensions/policy_handlers.cc
+++ b/chrome/browser/extensions/policy_handlers.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/policy_handlers.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/logging.h"
 #include "base/prefs/pref_value_map.h"
@@ -45,7 +46,7 @@
   scoped_ptr<base::ListValue> list;
   policy::PolicyErrorMap errors;
   if (CheckAndGetList(policies, &errors, &list) && list)
-    prefs->SetValue(pref_path(), list.Pass());
+    prefs->SetValue(pref_path(), std::move(list));
 }
 
 const char* ExtensionListPolicyHandler::pref_path() const {
@@ -94,7 +95,7 @@
   }
 
   if (extension_ids)
-    *extension_ids = filtered_list.Pass();
+    *extension_ids = std::move(filtered_list);
 
   return true;
 }
@@ -124,7 +125,7 @@
   if (CheckAndGetValue(policies, NULL, &value) &&
       value &&
       ParseList(value, dict.get(), NULL)) {
-    prefs->SetValue(pref_names::kInstallForceList, dict.Pass());
+    prefs->SetValue(pref_names::kInstallForceList, std::move(dict));
   }
 }
 
@@ -322,7 +323,7 @@
   scoped_ptr<base::Value> policy_value;
   if (!CheckAndGetValue(policies, NULL, &policy_value) || !policy_value)
     return;
-  prefs->SetValue(pref_names::kExtensionManagement, policy_value.Pass());
+  prefs->SetValue(pref_names::kExtensionManagement, std::move(policy_value));
 }
 
 }  // namespace extensions
diff --git a/chrome/browser/extensions/process_manager_browsertest.cc b/chrome/browser/extensions/process_manager_browsertest.cc
index abf9fd9..56080128 100644
--- a/chrome/browser/extensions/process_manager_browsertest.cc
+++ b/chrome/browser/extensions/process_manager_browsertest.cc
@@ -5,6 +5,7 @@
 #include "extensions/browser/process_manager.h"
 
 #include <stddef.h>
+#include <utility>
 
 #include "base/callback.h"
 #include "base/macros.h"
@@ -133,7 +134,7 @@
 
     const Extension* extension = LoadExtension(dir->unpacked_path());
     EXPECT_TRUE(extension);
-    temp_dirs_.push_back(dir.Pass());
+    temp_dirs_.push_back(std::move(dir));
     return extension;
   }
 
diff --git a/chrome/browser/extensions/shared_module_service.cc b/chrome/browser/extensions/shared_module_service.cc
index 583bbe10..2b994b1 100644
--- a/chrome/browser/extensions/shared_module_service.cc
+++ b/chrome/browser/extensions/shared_module_service.cc
@@ -131,7 +131,7 @@
       }
     }
   }
-  return dependents.Pass();
+  return dependents;
 }
 
 void SharedModuleService::PruneSharedModules() {
diff --git a/chrome/browser/extensions/shared_module_service_unittest.cc b/chrome/browser/extensions/shared_module_service_unittest.cc
index fb1d7a2c..11cd3be 100644
--- a/chrome/browser/extensions/shared_module_service_unittest.cc
+++ b/chrome/browser/extensions/shared_module_service_unittest.cc
@@ -43,10 +43,11 @@
   }
   scoped_ptr<base::DictionaryValue> manifest = builder.Build();
 
-  return ExtensionBuilder().SetManifest(manifest.Pass())
-                           .AddFlags(Extension::FROM_WEBSTORE)
-                           .SetID(id)
-                           .Build();
+  return ExtensionBuilder()
+      .SetManifest(std::move(manifest))
+      .AddFlags(Extension::FROM_WEBSTORE)
+      .SetID(id)
+      .Build();
 }
 
 }  // namespace
@@ -135,7 +136,7 @@
           .Build();
   scoped_refptr<Extension> shared_module =
       ExtensionBuilder()
-          .SetManifest(manifest.Pass())
+          .SetManifest(std::move(manifest))
           .AddFlags(Extension::FROM_WEBSTORE)
           .SetID(crx_file::id_util::GenerateId("shared_module"))
           .Build();
@@ -176,7 +177,7 @@
           .Build();
   scoped_refptr<Extension> shared_module_1 =
       ExtensionBuilder()
-          .SetManifest(manifest_1.Pass())
+          .SetManifest(std::move(manifest_1))
           .AddFlags(Extension::FROM_WEBSTORE)
           .SetID(crx_file::id_util::GenerateId("shared_module_1"))
           .Build();
@@ -193,7 +194,7 @@
           .Build();
   scoped_refptr<Extension> shared_module_2 =
       ExtensionBuilder()
-          .SetManifest(manifest_2.Pass())
+          .SetManifest(std::move(manifest_2))
           .AddFlags(Extension::FROM_WEBSTORE)
           .SetID(crx_file::id_util::GenerateId("shared_module_2"))
           .Build();
@@ -257,7 +258,7 @@
           .Build();
   scoped_refptr<Extension> shared_module =
       ExtensionBuilder()
-          .SetManifest(manifest.Pass())
+          .SetManifest(std::move(manifest))
           .AddFlags(Extension::FROM_WEBSTORE)
           .SetID(crx_file::id_util::GenerateId("shared_module"))
           .Build();
diff --git a/chrome/browser/extensions/test_extension_environment.cc b/chrome/browser/extensions/test_extension_environment.cc
index c9bc1aa0..a85b5d4 100644
--- a/chrome/browser/extensions/test_extension_environment.cc
+++ b/chrome/browser/extensions/test_extension_environment.cc
@@ -140,7 +140,7 @@
   scoped_ptr<base::DictionaryValue> manifest =
       MakeExtensionManifest(manifest_extra);
   scoped_refptr<Extension> result =
-      ExtensionBuilder().SetManifest(manifest.Pass()).Build();
+      ExtensionBuilder().SetManifest(std::move(manifest)).Build();
   GetExtensionService()->AddExtension(result.get());
   return result.get();
 }
@@ -151,7 +151,7 @@
   scoped_ptr<base::DictionaryValue> manifest =
       MakeExtensionManifest(manifest_extra);
   scoped_refptr<Extension> result =
-      ExtensionBuilder().SetManifest(manifest.Pass()).SetID(id).Build();
+      ExtensionBuilder().SetManifest(std::move(manifest)).SetID(id).Build();
   GetExtensionService()->AddExtension(result.get());
   return result.get();
 }
@@ -174,7 +174,7 @@
       content::WebContentsTester::CreateTestWebContents(profile(), NULL));
   // Create a tab id.
   SessionTabHelper::CreateForWebContents(contents.get());
-  return contents.Pass();
+  return contents;
 }
 
 void TestExtensionEnvironment::DeleteProfile() {
diff --git a/chrome/browser/extensions/test_extension_prefs.cc b/chrome/browser/extensions/test_extension_prefs.cc
index c62b588..802353f 100644
--- a/chrome/browser/extensions/test_extension_prefs.cc
+++ b/chrome/browser/extensions/test_extension_prefs.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/test_extension_prefs.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/bind_helpers.h"
 #include "base/files/file_util.h"
@@ -120,7 +122,7 @@
   factory.SetUserPrefsFile(preferences_file_, task_runner_.get());
   factory.set_extension_prefs(
       new ExtensionPrefStore(extension_pref_value_map_.get(), false));
-  pref_service_ = factory.CreateSyncable(pref_registry_.get()).Pass();
+  pref_service_ = factory.CreateSyncable(pref_registry_.get());
   scoped_ptr<ExtensionPrefs> prefs(ExtensionPrefs::Create(
       &profile_,
       pref_service_.get(),
@@ -132,7 +134,7 @@
       // stamp and we can reliably assert the installation order in the tests.
       scoped_ptr<ExtensionPrefs::TimeProvider>(new IncrementalTimeProvider())));
   ExtensionPrefsFactory::GetInstance()->SetInstanceForTesting(&profile_,
-                                                              prefs.Pass());
+                                                              std::move(prefs));
   // Hack: After recreating ExtensionPrefs, the AppSorting also needs to be
   // recreated. (ExtensionPrefs is never recreated in non-test code.)
   static_cast<TestExtensionSystem*>(ExtensionSystem::Get(&profile_))
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index 5801ae7d..c2d5598 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/test_extension_system.h"
 
+#include <utility>
+
 #include "base/command_line.h"
 #include "base/prefs/pref_service.h"
 #include "chrome/browser/extensions/blacklist.h"
@@ -53,7 +55,7 @@
   // but we keep a naked pointer to the TestingValueStore.
   scoped_ptr<TestingValueStore> value_store(new TestingValueStore());
   value_store_ = value_store.get();
-  state_store_.reset(new StateStore(profile_, value_store.Pass()));
+  state_store_.reset(new StateStore(profile_, std::move(value_store)));
   management_policy_.reset(new ManagementPolicy());
   management_policy_->RegisterProviders(
       ExtensionManagementFactory::GetForBrowserContext(profile_)
diff --git a/chrome/browser/extensions/theme_installed_infobar_delegate.cc b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
index 90531b2..f097275 100644
--- a/chrome/browser/extensions/theme_installed_infobar_delegate.cc
+++ b/chrome/browser/extensions/theme_installed_infobar_delegate.cc
@@ -5,8 +5,8 @@
 #include "chrome/browser/extensions/theme_installed_infobar_delegate.h"
 
 #include <stddef.h>
-
 #include <string>
+#include <utility>
 
 #include "base/strings/utf_string_conversions.h"
 #include "build/build_config.h"
@@ -70,7 +70,7 @@
       // and keep the first install info bar, so that they can easily undo to
       // get back the previous theme.
       if (theme_infobar->theme_id_ != new_theme->id()) {
-        infobar_service->ReplaceInfoBar(old_infobar, new_infobar.Pass());
+        infobar_service->ReplaceInfoBar(old_infobar, std::move(new_infobar));
         theme_service->OnInfobarDisplayed();
       }
       return;
@@ -78,7 +78,7 @@
   }
 
   // No previous theme infobar, so add this.
-  infobar_service->AddInfoBar(new_infobar.Pass());
+  infobar_service->AddInfoBar(std::move(new_infobar));
   theme_service->OnInfobarDisplayed();
 }
 
diff --git a/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc b/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
index 99237f6..244aed9 100644
--- a/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
+++ b/chrome/browser/extensions/updater/chrome_extension_downloader_factory.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/extensions/updater/chrome_extension_downloader_factory.h"
 
 #include <string>
+#include <utility>
 
 #include "chrome/browser/google/google_brand.h"
 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
@@ -39,7 +40,7 @@
   downloader->set_ping_enabled_domain("google.com");
   downloader->set_enable_extra_update_metrics(
       ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled());
-  return downloader.Pass();
+  return downloader;
 }
 
 scoped_ptr<ExtensionDownloader>
@@ -52,6 +53,6 @@
       LoginUIServiceFactory::GetShowLoginPopupCallbackForProfile(profile)));
   scoped_ptr<ExtensionDownloader> downloader =
       CreateForRequestContext(profile->GetRequestContext(), delegate);
-  downloader->SetWebstoreIdentityProvider(identity_provider.Pass());
-  return downloader.Pass();
+  downloader->SetWebstoreIdentityProvider(std::move(identity_provider));
+  return downloader;
 }
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index c128629..1a2a70b 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -2,12 +2,14 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+#include "chrome/browser/extensions/updater/extension_updater.h"
+
 #include <stddef.h>
 #include <stdint.h>
-
 #include <list>
 #include <map>
 #include <set>
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -37,7 +39,6 @@
 #include "chrome/browser/extensions/test_extension_service.h"
 #include "chrome/browser/extensions/test_extension_system.h"
 #include "chrome/browser/extensions/updater/chrome_extension_downloader_factory.h"
-#include "chrome/browser/extensions/updater/extension_updater.h"
 #include "chrome/browser/google/google_brand.h"
 #include "chrome/test/base/scoped_testing_local_state.h"
 #include "chrome/test/base/testing_browser_process.h"
@@ -381,7 +382,7 @@
                                           : delegate);
     if (enable_metrics_)
       downloader->set_enable_extra_update_metrics(true);
-    return downloader.Pass();
+    return downloader;
   }
 
   scoped_ptr<ExtensionDownloader> CreateExtensionDownloaderWithIdentity(
@@ -395,8 +396,8 @@
 
     scoped_ptr<ExtensionDownloader> downloader(
         CreateExtensionDownloader(delegate));
-    downloader->SetWebstoreIdentityProvider(fake_identity_provider.Pass());
-    return downloader.Pass();
+    downloader->SetWebstoreIdentityProvider(std::move(fake_identity_provider));
+    return downloader;
   }
 
   scoped_ptr<FakeOAuth2TokenService> fake_token_service_;
@@ -960,10 +961,10 @@
     GURL fetch2_url = fetch2->full_url();
     GURL fetch3_url = fetch3->full_url();
     GURL fetch4_url = fetch4->full_url();
-    downloader.StartUpdateCheck(fetch1.Pass());
-    downloader.StartUpdateCheck(fetch2.Pass());
-    downloader.StartUpdateCheck(fetch3.Pass());
-    downloader.StartUpdateCheck(fetch4.Pass());
+    downloader.StartUpdateCheck(std::move(fetch1));
+    downloader.StartUpdateCheck(std::move(fetch2));
+    downloader.StartUpdateCheck(std::move(fetch3));
+    downloader.StartUpdateCheck(std::move(fetch4));
     RunUntilIdle();
 
     for (int i = 0; i < 4; ++i) {
@@ -1085,7 +1086,7 @@
                         std::string());
 
     // This will start the first fetcher.
-    downloader.StartUpdateCheck(fetch.Pass());
+    downloader.StartUpdateCheck(std::move(fetch));
     RunUntilIdle();
 
     // ExtensionDownloader should retry kMaxRetries times and then fail.
@@ -1113,7 +1114,7 @@
                         std::string());
 
     // This will start the first fetcher.
-    downloader.StartUpdateCheck(fetch.Pass());
+    downloader.StartUpdateCheck(std::move(fetch));
     RunUntilIdle();
 
     EXPECT_CALL(delegate, OnExtensionDownloadFailed(
@@ -1172,7 +1173,7 @@
     scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch(
         new ExtensionDownloader::ExtensionFetch(
             id, test_url, hash, version.GetString(), requests));
-    updater.downloader_->FetchUpdatedExtension(fetch.Pass());
+    updater.downloader_->FetchUpdatedExtension(std::move(fetch));
 
     if (pending) {
       const bool kIsFromSync = true;
@@ -1282,7 +1283,7 @@
     scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch(
         new ExtensionDownloader::ExtensionFetch(
             id, test_url, hash, version.GetString(), requests));
-    updater.downloader_->FetchUpdatedExtension(fetch.Pass());
+    updater.downloader_->FetchUpdatedExtension(std::move(fetch));
 
     fetcher = factory.GetFetcherByID(ExtensionDownloader::kExtensionFetcherId);
     EXPECT_TRUE(fetcher != NULL && fetcher->delegate() != NULL);
@@ -1475,8 +1476,8 @@
     scoped_ptr<ExtensionDownloader::ExtensionFetch> fetch2(
         new ExtensionDownloader::ExtensionFetch(
             id2, url2, hash2, version2, requests));
-    updater.downloader_->FetchUpdatedExtension(fetch1.Pass());
-    updater.downloader_->FetchUpdatedExtension(fetch2.Pass());
+    updater.downloader_->FetchUpdatedExtension(std::move(fetch1));
+    updater.downloader_->FetchUpdatedExtension(std::move(fetch2));
 
     // Make the first fetch complete.
     base::FilePath extension_file_path(FILE_PATH_LITERAL("/whatever"));
diff --git a/chrome/browser/extensions/user_script_listener_unittest.cc b/chrome/browser/extensions/user_script_listener_unittest.cc
index 6befa17..e2c7c93 100644
--- a/chrome/browser/extensions/user_script_listener_unittest.cc
+++ b/chrome/browser/extensions/user_script_listener_unittest.cc
@@ -175,7 +175,7 @@
     if (!defer)
       request->Start();
 
-    return request.Pass();
+    return request;
   }
 
   void LoadTestExtension() {
diff --git a/chrome/browser/extensions/webstore_data_fetcher.cc b/chrome/browser/extensions/webstore_data_fetcher.cc
index 1b082b9..1ade331 100644
--- a/chrome/browser/extensions/webstore_data_fetcher.cc
+++ b/chrome/browser/extensions/webstore_data_fetcher.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/webstore_data_fetcher.h"
 
+#include <utility>
+
 #include "base/bind.h"
 #include "base/values.h"
 #include "chrome/browser/extensions/webstore_data_fetcher_delegate.h"
@@ -71,7 +73,7 @@
 void WebstoreDataFetcher::OnURLFetchComplete(const net::URLFetcher* source) {
   CHECK_EQ(webstore_data_url_fetcher_.get(), source);
 
-  scoped_ptr<net::URLFetcher> fetcher(webstore_data_url_fetcher_.Pass());
+  scoped_ptr<net::URLFetcher> fetcher(std::move(webstore_data_url_fetcher_));
 
   if (!fetcher->GetStatus().is_success() ||
       fetcher->GetResponseCode() != 200) {
diff --git a/chrome/browser/extensions/webstore_inline_installer.cc b/chrome/browser/extensions/webstore_inline_installer.cc
index b78d53a..0b0f698 100644
--- a/chrome/browser/extensions/webstore_inline_installer.cc
+++ b/chrome/browser/extensions/webstore_inline_installer.cc
@@ -114,7 +114,7 @@
                           show_user_count(),
                           average_rating(),
                           rating_count());
-  return prompt.Pass();
+  return prompt;
 }
 
 bool WebstoreInlineInstaller::ShouldShowPostInstallUI() const {
diff --git a/chrome/browser/extensions/webstore_installer.cc b/chrome/browser/extensions/webstore_installer.cc
index 219f2d3..a97ec769 100644
--- a/chrome/browser/extensions/webstore_installer.cc
+++ b/chrome/browser/extensions/webstore_installer.cc
@@ -6,9 +6,9 @@
 
 #include <stddef.h>
 #include <stdint.h>
-
 #include <limits>
 #include <set>
+#include <utility>
 #include <vector>
 
 #include "base/bind.h"
@@ -252,7 +252,7 @@
 WebstoreInstaller::Approval::CreateWithInstallPrompt(Profile* profile) {
   scoped_ptr<Approval> result(new Approval());
   result->profile = profile;
-  return result.Pass();
+  return result;
 }
 
 scoped_ptr<WebstoreInstaller::Approval>
@@ -262,7 +262,7 @@
   result->skip_install_dialog = true;
   result->skip_post_install_ui = true;
   result->manifest_check_level = MANIFEST_CHECK_LEVEL_NONE;
-  return result.Pass();
+  return result;
 }
 
 scoped_ptr<WebstoreInstaller::Approval>
@@ -281,7 +281,7 @@
   result->skip_install_dialog = true;
   result->manifest_check_level = strict_manifest_check ?
     MANIFEST_CHECK_LEVEL_STRICT : MANIFEST_CHECK_LEVEL_LOOSE;
-  return result.Pass();
+  return result;
 }
 
 WebstoreInstaller::Approval::~Approval() {}
@@ -680,7 +680,7 @@
   params->set_callback(base::Bind(&WebstoreInstaller::OnDownloadStarted,
                                   this,
                                   extension_id));
-  download_manager->DownloadUrl(params.Pass());
+  download_manager->DownloadUrl(std::move(params));
 }
 
 void WebstoreInstaller::UpdateDownloadProgress() {
diff --git a/chrome/browser/extensions/webstore_installer_browsertest.cc b/chrome/browser/extensions/webstore_installer_browsertest.cc
index 3a77e3c..0e301d2 100644
--- a/chrome/browser/extensions/webstore_installer_browsertest.cc
+++ b/chrome/browser/extensions/webstore_installer_browsertest.cc
@@ -41,8 +41,12 @@
                         const std::string& id,
                         scoped_ptr<Approval> approval,
                         InstallSource source)
-      : WebstoreInstaller(
-          profile, delegate, web_contents, id, approval.Pass(), source) {}
+      : WebstoreInstaller(profile,
+                          delegate,
+                          web_contents,
+                          id,
+                          std::move(approval),
+                          source) {}
 
   void SetDeletedClosure(const base::Closure& cb) { deleted_closure_ = cb; }
 
@@ -129,22 +133,14 @@
   // Create an approval.
   scoped_ptr<WebstoreInstaller::Approval> approval =
       WebstoreInstaller::Approval::CreateWithNoInstallPrompt(
-          browser()->profile(),
-          kTestExtensionId,
-          manifest.Pass(),
-          false);
+          browser()->profile(), kTestExtensionId, std::move(manifest), false);
 
   // Create and run a WebstoreInstaller.
   base::RunLoop run_loop;
   SetDoneClosure(run_loop.QuitClosure());
-  TestWebstoreInstaller* installer =
-      new TestWebstoreInstaller(
-          browser()->profile(),
-          this,
-          active_web_contents,
-          kTestExtensionId,
-          approval.Pass(),
-          WebstoreInstaller::INSTALL_SOURCE_OTHER);
+  TestWebstoreInstaller* installer = new TestWebstoreInstaller(
+      browser()->profile(), this, active_web_contents, kTestExtensionId,
+      std::move(approval), WebstoreInstaller::INSTALL_SOURCE_OTHER);
   installer->Start();
   run_loop.Run();
 
@@ -178,22 +174,18 @@
   // Create and run a WebstoreInstaller.
   base::RunLoop run_loop;
   SetDoneClosure(run_loop.QuitClosure());
-  scoped_refptr<TestWebstoreInstaller> installer =
-      new TestWebstoreInstaller(
-          browser()->profile(),
-          this,
-          active_web_contents,
-          kTestExtensionId,
-          approval.Pass(),
-          WebstoreInstaller::INSTALL_SOURCE_OTHER);
+  scoped_refptr<TestWebstoreInstaller> installer = new TestWebstoreInstaller(
+      browser()->profile(), this, active_web_contents, kTestExtensionId,
+      std::move(approval), WebstoreInstaller::INSTALL_SOURCE_OTHER);
   installer->Start();
 
   // Simulate another mechanism installing the same extension.
   scoped_refptr<const Extension> extension =
-      ExtensionBuilder().SetLocation(Manifest::INTERNAL)
-                      .SetID(kTestExtensionId)
-                      .SetManifest(manifest.Pass())
-                      .Build();
+      ExtensionBuilder()
+          .SetLocation(Manifest::INTERNAL)
+          .SetID(kTestExtensionId)
+          .SetManifest(std::move(manifest))
+          .Build();
   extension_service()->OnExtensionInstalled(extension.get(),
                                             syncer::StringOrdinal(),
                                             0);
diff --git a/chrome/browser/extensions/webstore_reinstaller.cc b/chrome/browser/extensions/webstore_reinstaller.cc
index 278d123..1eb1e3bb 100644
--- a/chrome/browser/extensions/webstore_reinstaller.cc
+++ b/chrome/browser/extensions/webstore_reinstaller.cc
@@ -53,7 +53,7 @@
                           show_user_count(),
                           average_rating(),
                           rating_count());
-  return prompt.Pass();
+  return prompt;
 }
 
 bool WebstoreReinstaller::ShouldShowPostInstallUI() const {
diff --git a/chrome/browser/extensions/webstore_standalone_installer.cc b/chrome/browser/extensions/webstore_standalone_installer.cc
index 8b1edca..1942084 100644
--- a/chrome/browser/extensions/webstore_standalone_installer.cc
+++ b/chrome/browser/extensions/webstore_standalone_installer.cc
@@ -4,6 +4,8 @@
 
 #include "chrome/browser/extensions/webstore_standalone_installer.h"
 
+#include <utility>
+
 #include "base/values.h"
 #include "base/version.h"
 #include "chrome/browser/extensions/crx_installer.h"
@@ -184,7 +186,7 @@
   approval->skip_post_install_ui = !ShouldShowPostInstallUI();
   approval->use_app_installed_bubble = ShouldShowAppInstalledBubble();
   approval->installing_icon = gfx::ImageSkia::CreateFrom1xBitmap(icon_);
-  return approval.Pass();
+  return approval;
 }
 
 void WebstoreStandaloneInstaller::InstallUIProceed() {
@@ -220,13 +222,9 @@
     }
   }
 
-  scoped_refptr<WebstoreInstaller> installer = new WebstoreInstaller(
-      profile_,
-      this,
-      GetWebContents(),
-      id_,
-      approval.Pass(),
-      install_source_);
+  scoped_refptr<WebstoreInstaller> installer =
+      new WebstoreInstaller(profile_, this, GetWebContents(), id_,
+                            std::move(approval), install_source_);
   installer->Start();
 }
 
@@ -313,7 +311,7 @@
   }
 
   // Assume ownership of webstore_data.
-  webstore_data_ = webstore_data.Pass();
+  webstore_data_ = std::move(webstore_data);
 
   scoped_refptr<WebstoreInstallHelper> helper =
       new WebstoreInstallHelper(this,
@@ -406,7 +404,7 @@
 
   install_ui_ = CreateInstallUI();
   install_ui_->ShowDialog(
-      this, localized_extension.get(), &icon_, install_prompt_.Pass(),
+      this, localized_extension.get(), &icon_, std::move(install_prompt_),
       ExtensionInstallPrompt::GetDefaultShowDialogCallback());
 }