base: Use std::move() instead of Pass() for real movable types.
Some of our movable types have real move-constructors/assignment
operators now. We can use std::move() for these types instead of Pass().
There's still some move-only types that are implemented using an
"Rvalue" type emulation, so we have to keep Pass() for those still.
R=thestig@chromium.org
BUG=557422
Review URL: https://codereview.chromium.org/1479473002
Cr-Commit-Position: refs/heads/master@{#361583}
diff --git a/base/containers/scoped_ptr_hash_map.h b/base/containers/scoped_ptr_hash_map.h
index 116070a0..bc635f4 100644
--- a/base/containers/scoped_ptr_hash_map.h
+++ b/base/containers/scoped_ptr_hash_map.h
@@ -82,7 +82,7 @@
ScopedPtr ret(it->second);
it->second = NULL;
- return ret.Pass();
+ return ret;
}
ScopedPtr take(const Key& k) {
@@ -100,7 +100,7 @@
ScopedPtr ret(it->second);
data_.erase(it);
- return ret.Pass();
+ return ret;
}
ScopedPtr take_and_erase(const Key& k) {
diff --git a/base/containers/scoped_ptr_map.h b/base/containers/scoped_ptr_map.h
index dfa26f4..822cbfd 100644
--- a/base/containers/scoped_ptr_map.h
+++ b/base/containers/scoped_ptr_map.h
@@ -116,7 +116,7 @@
ScopedPtr ret(position->second);
// Key-based lookup (cannot use const_iterator overload in C++03 library).
data_.erase(position->first);
- return ret.Pass();
+ return ret;
}
// Like |erase()|, but returns the element instead of deleting it.
@@ -127,7 +127,7 @@
ScopedPtr ret(it->second);
data_.erase(it);
- return ret.Pass();
+ return ret;
}
private:
diff --git a/base/containers/scoped_ptr_map_unittest.cc b/base/containers/scoped_ptr_map_unittest.cc
index 086c4fe82..6f867a91 100644
--- a/base/containers/scoped_ptr_map_unittest.cc
+++ b/base/containers/scoped_ptr_map_unittest.cc
@@ -167,12 +167,12 @@
// Test the move constructor.
ScopedPtrMap<int, scoped_ptr<int>, std::greater<int>> scoped_map2(
- scoped_map1.Pass());
+ std::move(scoped_map1));
EXPECT_EQ(2u, scoped_map2.size());
EXPECT_TRUE(scoped_map1.empty());
// Test move assignment.
- scoped_map1 = scoped_map2.Pass();
+ scoped_map1 = std::move(scoped_map2);
EXPECT_EQ(2u, scoped_map1.size());
EXPECT_TRUE(scoped_map2.empty());
@@ -203,7 +203,7 @@
EXPECT_FALSE(scoped_map.empty());
ScopedPtrMap<int, scoped_ptr<ScopedDestroyer>> scoped_map_copy(
- scoped_map.Pass());
+ std::move(scoped_map));
EXPECT_TRUE(scoped_map.empty());
EXPECT_FALSE(scoped_map_copy.empty());
EXPECT_EQ(elem, scoped_map_copy.find(0)->second);
@@ -223,7 +223,7 @@
EXPECT_FALSE(scoped_map.empty());
ScopedPtrMap<int, scoped_ptr<ScopedDestroyer>> scoped_map_assign;
- scoped_map_assign = scoped_map.Pass();
+ scoped_map_assign = std::move(scoped_map);
EXPECT_TRUE(scoped_map.empty());
EXPECT_FALSE(scoped_map_assign.empty());
EXPECT_EQ(elem, scoped_map_assign.find(0)->second);
diff --git a/base/environment.cc b/base/environment.cc
index 11b2bc3..ca24ac70 100644
--- a/base/environment.cc
+++ b/base/environment.cc
@@ -228,7 +228,7 @@
result[i] = &storage_data[result_indices[i]];
result[result_indices.size()] = 0; // Null terminator.
- return result.Pass();
+ return result;
}
#endif // OS_POSIX
diff --git a/base/environment_unittest.cc b/base/environment_unittest.cc
index f0577a8..c955e79b1 100644
--- a/base/environment_unittest.cc
+++ b/base/environment_unittest.cc
@@ -129,7 +129,7 @@
EnvironmentMap changes;
scoped_ptr<char*[]> e;
- e = AlterEnvironment(empty, changes).Pass();
+ e = AlterEnvironment(empty, changes);
EXPECT_TRUE(e[0] == NULL);
changes["A"] = "1";
diff --git a/base/feature_list_unittest.cc b/base/feature_list_unittest.cc
index cb8f744..53536d2 100644
--- a/base/feature_list_unittest.cc
+++ b/base/feature_list_unittest.cc
@@ -4,6 +4,8 @@
#include "base/feature_list.h"
+#include <utility>
+
#include "base/format_macros.h"
#include "base/metrics/field_trial.h"
#include "base/strings/stringprintf.h"
@@ -35,7 +37,7 @@
void RegisterFeatureListInstance(scoped_ptr<FeatureList> feature_list) {
FeatureList::ClearInstanceForTesting();
feature_list_ = feature_list.get();
- FeatureList::SetInstance(feature_list.Pass());
+ FeatureList::SetInstance(std::move(feature_list));
}
void ClearFeatureListInstance() {
FeatureList::ClearInstanceForTesting();
@@ -82,7 +84,7 @@
scoped_ptr<FeatureList> feature_list(new FeatureList);
feature_list->InitializeFromCommandLine(test_case.enable_features,
test_case.disable_features);
- RegisterFeatureListInstance(feature_list.Pass());
+ RegisterFeatureListInstance(std::move(feature_list));
EXPECT_EQ(test_case.expected_feature_on_state,
FeatureList::IsEnabled(kFeatureOnByDefault))
@@ -143,7 +145,7 @@
test_case.trial1_state, trial1);
feature_list->RegisterFieldTrialOverride(kFeatureOffByDefaultName,
test_case.trial2_state, trial2);
- RegisterFeatureListInstance(feature_list.Pass());
+ RegisterFeatureListInstance(std::move(feature_list));
// Initially, neither trial should be active.
EXPECT_FALSE(FieldTrialList::IsTrialActive(trial1->trial_name()));
@@ -178,7 +180,7 @@
FieldTrial* trial = FieldTrialList::CreateFieldTrial("TrialExample2", "A");
feature_list->RegisterFieldTrialOverride(
kFeatureOffByDefaultName, FeatureList::OVERRIDE_DISABLE_FEATURE, trial);
- RegisterFeatureListInstance(feature_list.Pass());
+ RegisterFeatureListInstance(std::move(feature_list));
EXPECT_FALSE(FieldTrialList::IsTrialActive(trial->trial_name()));
// Command-line should take precedence.
@@ -233,7 +235,7 @@
kFeatureOnByDefaultName, FeatureList::OVERRIDE_DISABLE_FEATURE));
EXPECT_FALSE(feature_list->IsFeatureOverriddenFromCommandLine(
kFeatureOnByDefaultName, FeatureList::OVERRIDE_ENABLE_FEATURE));
- RegisterFeatureListInstance(feature_list.Pass());
+ RegisterFeatureListInstance(std::move(feature_list));
// Check the expected feature states for good measure.
EXPECT_TRUE(FeatureList::IsEnabled(kFeatureOffByDefault));
@@ -293,7 +295,7 @@
EXPECT_EQ(test_case.expected_enable_trial_created, enable_trial != nullptr);
EXPECT_EQ(test_case.expected_disable_trial_created,
disable_trial != nullptr);
- RegisterFeatureListInstance(feature_list.Pass());
+ RegisterFeatureListInstance(std::move(feature_list));
EXPECT_FALSE(FieldTrialList::IsTrialActive(kTrialName));
if (disable_trial) {
diff --git a/base/files/file_path_watcher.h b/base/files/file_path_watcher.h
index 4f132af..834acbc 100644
--- a/base/files/file_path_watcher.h
+++ b/base/files/file_path_watcher.h
@@ -62,9 +62,8 @@
return task_runner_;
}
- void set_task_runner(
- scoped_refptr<base::SingleThreadTaskRunner> task_runner) {
- task_runner_ = task_runner.Pass();
+ void set_task_runner(scoped_refptr<base::SingleThreadTaskRunner> runner) {
+ task_runner_ = std::move(runner);
}
// Must be called before the PlatformDelegate is deleted.
diff --git a/base/files/important_file_writer.cc b/base/files/important_file_writer.cc
index 1529107bd..4af7137b 100644
--- a/base/files/important_file_writer.cc
+++ b/base/files/important_file_writer.cc
@@ -5,8 +5,8 @@
#include "base/files/important_file_writer.h"
#include <stdio.h>
-
#include <string>
+#include <utility>
#include "base/bind.h"
#include "base/critical_closure.h"
@@ -191,7 +191,7 @@
DCHECK(serializer_);
scoped_ptr<std::string> data(new std::string);
if (serializer_->SerializeData(data.get())) {
- WriteNow(data.Pass());
+ WriteNow(std::move(data));
} else {
DLOG(WARNING) << "failed to serialize data to be saved in "
<< path_.value();
diff --git a/base/files/memory_mapped_file_unittest.cc b/base/files/memory_mapped_file_unittest.cc
index 05b941c..1812d88 100644
--- a/base/files/memory_mapped_file_unittest.cc
+++ b/base/files/memory_mapped_file_unittest.cc
@@ -18,7 +18,7 @@
scoped_ptr<uint8[]> buf(new uint8[size]);
for (size_t i = 0; i < size; ++i)
buf.get()[i] = static_cast<uint8>((offset + i) % 253);
- return buf.Pass();
+ return buf;
}
// Check that the watermark sequence is consistent with the |offset| provided.
diff --git a/base/json/json_writer_unittest.cc b/base/json/json_writer_unittest.cc
index 0daeafc..a6f1a18 100644
--- a/base/json/json_writer_unittest.cc
+++ b/base/json/json_writer_unittest.cc
@@ -57,10 +57,10 @@
scoped_ptr<ListValue> list(new ListValue());
scoped_ptr<DictionaryValue> inner_dict(new DictionaryValue());
inner_dict->SetInteger("inner int", 10);
- list->Append(inner_dict.Pass());
+ list->Append(std::move(inner_dict));
list->Append(make_scoped_ptr(new ListValue()));
list->AppendBoolean(true);
- root_dict.Set("list", list.Pass());
+ root_dict.Set("list", std::move(list));
// Test the pretty-printer.
EXPECT_TRUE(JSONWriter::Write(root_dict, &output_js));
@@ -92,7 +92,7 @@
period_dict.SetIntegerWithoutPathExpansion("c", 2);
scoped_ptr<DictionaryValue> period_dict2(new DictionaryValue());
period_dict2->SetIntegerWithoutPathExpansion("g.h.i.j", 1);
- period_dict.SetWithoutPathExpansion("d.e.f", period_dict2.Pass());
+ period_dict.SetWithoutPathExpansion("d.e.f", std::move(period_dict2));
EXPECT_TRUE(JSONWriter::Write(period_dict, &output_js));
EXPECT_EQ("{\"a.b\":3,\"c\":2,\"d.e.f\":{\"g.h.i.j\":1}}", output_js);
diff --git a/base/memory/ref_counted.h b/base/memory/ref_counted.h
index 5f94b4c..26c6551 100644
--- a/base/memory/ref_counted.h
+++ b/base/memory/ref_counted.h
@@ -331,13 +331,13 @@
}
scoped_refptr<T>& operator=(scoped_refptr<T>&& r) {
- scoped_refptr<T>(r.Pass()).swap(*this);
+ scoped_refptr<T>(std::move(r)).swap(*this);
return *this;
}
template <typename U>
scoped_refptr<T>& operator=(scoped_refptr<U>&& r) {
- scoped_refptr<T>(r.Pass()).swap(*this);
+ scoped_refptr<T>(std::move(r)).swap(*this);
return *this;
}
diff --git a/base/memory/ref_counted_unittest.cc b/base/memory/ref_counted_unittest.cc
index 6f8e599..dbc6f33 100644
--- a/base/memory/ref_counted_unittest.cc
+++ b/base/memory/ref_counted_unittest.cc
@@ -180,26 +180,6 @@
EXPECT_EQ(p2, p1);
}
-TEST(RefCountedUnitTest, SelfMoveAssignment) {
- ScopedRefPtrCountBase::reset_count();
-
- {
- ScopedRefPtrCountBase *raw = new ScopedRefPtrCountBase();
- scoped_refptr<ScopedRefPtrCountBase> p(raw);
- EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
- EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
-
- p = p.Pass();
- EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
- EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
- EXPECT_EQ(raw, p.get());
-
- // p goes out of scope.
- }
- EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
- EXPECT_EQ(1, ScopedRefPtrCountBase::destructor_count());
-}
-
TEST(RefCountedUnitTest, MoveAssignment1) {
ScopedRefPtrCountBase::reset_count();
@@ -212,7 +192,7 @@
{
scoped_refptr<ScopedRefPtrCountBase> p2;
- p2 = p1.Pass();
+ p2 = std::move(p1);
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(nullptr, p1.get());
@@ -243,7 +223,7 @@
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
- p1 = p2.Pass();
+ p1 = std::move(p2);
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(raw, p1.get());
@@ -274,7 +254,7 @@
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
- p1 = p2.Pass();
+ p1 = std::move(p2);
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(raw, p1.get());
@@ -305,7 +285,7 @@
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
- p2 = p1.Pass();
+ p2 = std::move(p1);
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(nullptr, p1.get());
@@ -337,7 +317,7 @@
EXPECT_EQ(2, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
- p1 = p2.Pass();
+ p1 = std::move(p2);
EXPECT_EQ(2, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(1, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(raw2, p1.get());
@@ -374,7 +354,7 @@
EXPECT_EQ(1, ScopedRefPtrCountDerived::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountDerived::destructor_count());
- p1 = p2.Pass();
+ p1 = std::move(p2);
EXPECT_EQ(2, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(1, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(1, ScopedRefPtrCountDerived::constructor_count());
@@ -407,7 +387,7 @@
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
{
- scoped_refptr<ScopedRefPtrCountBase> p2(p1.Pass());
+ scoped_refptr<ScopedRefPtrCountBase> p2(std::move(p1));
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(nullptr, p1.get());
@@ -437,7 +417,7 @@
EXPECT_EQ(0, ScopedRefPtrCountDerived::destructor_count());
{
- scoped_refptr<ScopedRefPtrCountBase> p2(p1.Pass());
+ scoped_refptr<ScopedRefPtrCountBase> p2(std::move(p1));
EXPECT_EQ(1, ScopedRefPtrCountBase::constructor_count());
EXPECT_EQ(0, ScopedRefPtrCountBase::destructor_count());
EXPECT_EQ(1, ScopedRefPtrCountDerived::constructor_count());
diff --git a/base/memory/scoped_ptr.h b/base/memory/scoped_ptr.h
index 51750d3..0120f89 100644
--- a/base/memory/scoped_ptr.h
+++ b/base/memory/scoped_ptr.h
@@ -37,42 +37,43 @@
// in that they are "movable but not copyable." You can use the scopers in
// the parameter and return types of functions to signify ownership transfer
// in to and out of a function. When calling a function that has a scoper
-// as the argument type, it must be called with the result of an analogous
-// scoper's Pass() function or another function that generates a temporary;
-// passing by copy will NOT work. Here is an example using scoped_ptr:
+// as the argument type, it must be called with an rvalue of a scoper, which
+// can be created by using std::move(), or the result of another function that
+// generates a temporary; passing by copy will NOT work. Here is an example
+// using scoped_ptr:
//
// void TakesOwnership(scoped_ptr<Foo> arg) {
-// // Do something with arg
+// // Do something with arg.
// }
// scoped_ptr<Foo> CreateFoo() {
-// // No need for calling Pass() because we are constructing a temporary
-// // for the return value.
+// // No need for calling std::move() for returning a move-only value, or
+// // when you already have an rvalue as we do here.
// return scoped_ptr<Foo>(new Foo("new"));
// }
// scoped_ptr<Foo> PassThru(scoped_ptr<Foo> arg) {
-// return arg.Pass();
+// return arg;
// }
//
// {
// scoped_ptr<Foo> ptr(new Foo("yay")); // ptr manages Foo("yay").
-// TakesOwnership(ptr.Pass()); // ptr no longer owns Foo("yay").
+// TakesOwnership(std::move(ptr)); // ptr no longer owns Foo("yay").
// scoped_ptr<Foo> ptr2 = CreateFoo(); // ptr2 owns the return Foo.
// scoped_ptr<Foo> ptr3 = // ptr3 now owns what was in ptr2.
-// PassThru(ptr2.Pass()); // ptr2 is correspondingly nullptr.
+// PassThru(std::move(ptr2)); // ptr2 is correspondingly nullptr.
// }
//
-// Notice that if you do not call Pass() when returning from PassThru(), or
+// Notice that if you do not call std::move() when returning from PassThru(), or
// when invoking TakesOwnership(), the code will not compile because scopers
// are not copyable; they only implement move semantics which require calling
-// the Pass() function to signify a destructive transfer of state. CreateFoo()
-// is different though because we are constructing a temporary on the return
-// line and thus can avoid needing to call Pass().
+// the std::move() function to signify a destructive transfer of state.
+// CreateFoo() is different though because we are constructing a temporary on
+// the return line and thus can avoid needing to call std::move().
//
-// Pass() properly handles upcast in initialization, i.e. you can use a
-// scoped_ptr<Child> to initialize a scoped_ptr<Parent>:
+// The conversion move-constructor properly handles upcast in initialization,
+// i.e. you can use a scoped_ptr<Child> to initialize a scoped_ptr<Parent>:
//
// scoped_ptr<Foo> foo(new Foo());
-// scoped_ptr<FooParent> parent(foo.Pass());
+// scoped_ptr<FooParent> parent(std::move(foo));
#ifndef BASE_MEMORY_SCOPED_PTR_H_
#define BASE_MEMORY_SCOPED_PTR_H_
diff --git a/base/memory/scoped_ptr_unittest.cc b/base/memory/scoped_ptr_unittest.cc
index 60a050e..b26182a 100644
--- a/base/memory/scoped_ptr_unittest.cc
+++ b/base/memory/scoped_ptr_unittest.cc
@@ -84,7 +84,7 @@
int OverloadedNewAndDelete::g_delete_count = 0;
scoped_ptr<ConDecLogger> PassThru(scoped_ptr<ConDecLogger> logger) {
- return logger.Pass();
+ return logger;
}
void GrabAndDrop(scoped_ptr<ConDecLogger> logger) {
@@ -178,7 +178,7 @@
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper.get());
- scoped_ptr<ConDecLoggerParent> scoper_parent(scoper.Pass());
+ scoped_ptr<ConDecLoggerParent> scoper_parent(std::move(scoper));
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper_parent.get());
EXPECT_FALSE(scoper.get());
@@ -196,7 +196,7 @@
EXPECT_TRUE(scoper.get());
scoped_ptr<ConDecLoggerParent> scoper_parent;
- scoper_parent = scoper.Pass();
+ scoper_parent = std::move(scoper);
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper_parent.get());
EXPECT_FALSE(scoper.get());
@@ -209,7 +209,7 @@
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper.get());
- scoped_ptr<const ConDecLogger> scoper_const(scoper.Pass());
+ scoped_ptr<const ConDecLogger> scoper_const(std::move(scoper));
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper_const.get());
EXPECT_FALSE(scoper.get());
@@ -227,7 +227,7 @@
EXPECT_TRUE(scoper.get());
scoped_ptr<const ConDecLogger> scoper_const;
- scoper_const = scoper.Pass();
+ scoper_const = std::move(scoper);
EXPECT_EQ(1, constructed);
EXPECT_TRUE(scoper_const.get());
EXPECT_FALSE(scoper.get());
@@ -251,7 +251,7 @@
EXPECT_EQ(0, alternate_deletes);
// Test this compiles and correctly overwrites the deleter state.
- scoper = scoper_child.Pass();
+ scoper = std::move(scoper_child);
EXPECT_TRUE(scoper);
EXPECT_FALSE(scoper_child);
EXPECT_EQ(1, deletes);
@@ -267,7 +267,8 @@
EXPECT_TRUE(scoper_child);
EXPECT_EQ(1, deletes);
EXPECT_EQ(1, alternate_deletes);
- scoped_ptr<double, CountingDeleter> scoper_construct(scoper_child.Pass());
+ scoped_ptr<double, CountingDeleter> scoper_construct(
+ std::move(scoper_child));
EXPECT_TRUE(scoper_construct);
EXPECT_FALSE(scoper_child);
EXPECT_EQ(1, deletes);
@@ -363,13 +364,13 @@
}
EXPECT_EQ(kNumLoggers, constructed);
- // Test Pass() with constructor;
- scoped_ptr<ConDecLogger[]> scoper2(scoper.Pass());
+ // Test moving with constructor;
+ scoped_ptr<ConDecLogger[]> scoper2(std::move(scoper));
EXPECT_EQ(kNumLoggers, constructed);
- // Test Pass() with assignment;
+ // Test moving with assignment;
scoped_ptr<ConDecLogger[]> scoper3;
- scoper3 = scoper2.Pass();
+ scoper3 = std::move(scoper2);
EXPECT_EQ(kNumLoggers, constructed);
EXPECT_FALSE(scoper);
EXPECT_FALSE(scoper2);
@@ -378,27 +379,29 @@
EXPECT_EQ(0, constructed);
}
-TEST(ScopedPtrTest, PassBehavior) {
+TEST(ScopedPtrTest, MoveBehavior) {
int constructed = 0;
{
ConDecLogger* logger = new ConDecLogger(&constructed);
scoped_ptr<ConDecLogger> scoper(logger);
EXPECT_EQ(1, constructed);
- // Test Pass() with constructor;
- scoped_ptr<ConDecLogger> scoper2(scoper.Pass());
+ // Test moving with constructor;
+ scoped_ptr<ConDecLogger> scoper2(std::move(scoper));
EXPECT_EQ(1, constructed);
- // Test Pass() with assignment;
+ // Test moving with assignment;
scoped_ptr<ConDecLogger> scoper3;
- scoper3 = scoper2.Pass();
+ scoper3 = std::move(scoper2);
EXPECT_EQ(1, constructed);
EXPECT_FALSE(scoper.get());
EXPECT_FALSE(scoper2.get());
EXPECT_TRUE(scoper3.get());
}
- // Test uncaught Pass() does not have side effects.
+ // Test uncaught Pass() does not have side effects, because Pass()
+ // is implemented by std::move().
+ // TODO(danakj): Remove this test case when we remove Pass().
{
ConDecLogger* logger = new ConDecLogger(&constructed);
scoped_ptr<ConDecLogger> scoper(logger);
@@ -419,7 +422,7 @@
EXPECT_EQ(1, constructed);
// Should auto-destruct logger by end of scope.
- GrabAndDrop(scoper.Pass());
+ GrabAndDrop(std::move(scoper));
EXPECT_FALSE(scoper.get());
}
EXPECT_EQ(0, constructed);
@@ -434,7 +437,7 @@
scoped_ptr<ConDecLogger> scoper(logger);
EXPECT_EQ(1, constructed);
- PassThru(scoper.Pass());
+ PassThru(std::move(scoper));
EXPECT_FALSE(scoper.get());
}
EXPECT_EQ(0, constructed);
@@ -446,7 +449,7 @@
EXPECT_EQ(1, constructed);
// Should auto-destruct logger by end of scope.
- PassThru(scoper.Pass());
+ PassThru(std::move(scoper));
EXPECT_FALSE(scoper.get());
}
EXPECT_EQ(0, constructed);
@@ -537,8 +540,8 @@
// Pass the second deleter through a constructor and an operator=. Then
// reinitialize the empty scopers to ensure that each one is deleting
// properly.
- scoped_ptr<double, CountingDeleter> scoper3(scoper2.Pass());
- scoper = scoper3.Pass();
+ scoped_ptr<double, CountingDeleter> scoper3(std::move(scoper2));
+ scoper = std::move(scoper3);
EXPECT_EQ(1, deletes);
scoper2.reset(&dummy_value2);
@@ -575,7 +578,7 @@
}
// Sanity check test for overloaded new and delete operators. Does not do full
-// coverage of reset/release/Pass() operations as that is redundant with the
+// coverage of reset/release/move operations as that is redundant with the
// above.
TEST(ScopedPtrTest, OverloadedNewAndDelete) {
{
@@ -583,7 +586,7 @@
scoped_ptr<OverloadedNewAndDelete> scoper(new OverloadedNewAndDelete());
EXPECT_TRUE(scoper.get());
- scoped_ptr<OverloadedNewAndDelete> scoper2(scoper.Pass());
+ scoped_ptr<OverloadedNewAndDelete> scoper2(std::move(scoper));
}
EXPECT_EQ(1, OverloadedNewAndDelete::delete_count());
EXPECT_EQ(1, OverloadedNewAndDelete::new_count());
@@ -632,9 +635,9 @@
scoped_ptr<Sub> sub1(new Sub);
scoped_ptr<Sub> sub2(new Sub);
- // Upcast with Pass() works.
- scoped_ptr<Super> super1 = sub1.Pass();
- super1 = sub2.Pass();
+ // Upcast with move works.
+ scoped_ptr<Super> super1 = std::move(sub1);
+ super1 = std::move(sub2);
// Upcast with an rvalue works.
scoped_ptr<Super> super2 = SubClassReturn();
diff --git a/base/memory/shared_memory_mac.cc b/base/memory/shared_memory_mac.cc
index cdf0bc9f..a54d0bac 100644
--- a/base/memory/shared_memory_mac.cc
+++ b/base/memory/shared_memory_mac.cc
@@ -331,7 +331,7 @@
}
requested_size_ = options.size;
- return PrepareMapFile(fp.Pass(), readonly_fd.Pass());
+ return PrepareMapFile(std::move(fp), std::move(readonly_fd));
}
bool SharedMemory::MapAt(off_t offset, size_t bytes) {
diff --git a/base/memory/shared_memory_mac_unittest.cc b/base/memory/shared_memory_mac_unittest.cc
index fcc38bf..1c918341 100644
--- a/base/memory/shared_memory_mac_unittest.cc
+++ b/base/memory/shared_memory_mac_unittest.cc
@@ -231,8 +231,7 @@
SetUpChild("MachBasedSharedMemoryClient");
- scoped_ptr<SharedMemory> shared_memory(
- CreateSharedMemory(s_memory_size).Pass());
+ scoped_ptr<SharedMemory> shared_memory(CreateSharedMemory(s_memory_size));
// Send the underlying memory object to the client process.
SendMachPort(client_port_.get(), shared_memory->handle().GetMemoryObject(),
@@ -383,8 +382,7 @@
if (mac::IsOSSnowLeopard())
return;
- scoped_ptr<SharedMemory> shared_memory(
- CreateSharedMemory(s_memory_size).Pass());
+ scoped_ptr<SharedMemory> shared_memory(CreateSharedMemory(s_memory_size));
SharedMemoryHandle shm2 = shared_memory->handle().Duplicate();
ASSERT_TRUE(shm2.IsValid());
@@ -402,8 +400,7 @@
mach_msg_type_number_t active_name_count = GetActiveNameCount();
{
- scoped_ptr<SharedMemory> shared_memory(
- CreateSharedMemory(s_memory_size).Pass());
+ scoped_ptr<SharedMemory> shared_memory(CreateSharedMemory(s_memory_size));
SharedMemoryHandle shm2;
ASSERT_TRUE(shared_memory->ShareToProcess(GetCurrentProcId(), &shm2));
@@ -425,8 +422,7 @@
if (mac::IsOSSnowLeopard())
return;
- scoped_ptr<SharedMemory> shared_memory(
- CreateSharedMemory(s_memory_size).Pass());
+ scoped_ptr<SharedMemory> shared_memory(CreateSharedMemory(s_memory_size));
// Check the protection levels.
int current_prot, max_prot;
@@ -472,8 +468,7 @@
mach_msg_type_number_t active_name_count = GetActiveNameCount();
{
- scoped_ptr<SharedMemory> shared_memory(
- CreateSharedMemory(s_memory_size).Pass());
+ scoped_ptr<SharedMemory> shared_memory(CreateSharedMemory(s_memory_size));
SharedMemoryHandle shm2;
ASSERT_TRUE(
diff --git a/base/memory/shared_memory_posix.cc b/base/memory/shared_memory_posix.cc
index e1e5bf2..28c103f 100644
--- a/base/memory/shared_memory_posix.cc
+++ b/base/memory/shared_memory_posix.cc
@@ -311,7 +311,7 @@
return false;
}
- return PrepareMapFile(fp.Pass(), readonly_fd.Pass());
+ return PrepareMapFile(std::move(fp), std::move(readonly_fd));
}
// Our current implementation of shmem is with mmap()ing of files.
@@ -343,7 +343,7 @@
DPLOG(ERROR) << "open(\"" << path.value() << "\", O_RDONLY) failed";
return false;
}
- return PrepareMapFile(fp.Pass(), readonly_fd.Pass());
+ return PrepareMapFile(std::move(fp), std::move(readonly_fd));
}
#endif // !defined(OS_ANDROID)
diff --git a/base/message_loop/message_loop.cc b/base/message_loop/message_loop.cc
index a44f4686..a0c5f61f 100644
--- a/base/message_loop/message_loop.cc
+++ b/base/message_loop/message_loop.cc
@@ -5,6 +5,7 @@
#include "base/message_loop/message_loop.h"
#include <algorithm>
+#include <utility>
#include "base/bind.h"
#include "base/compiler_specific.h"
@@ -417,7 +418,7 @@
DCHECK_EQ(this, current());
DCHECK(task_runner->BelongsToCurrentThread());
DCHECK(!unbound_task_runner_);
- task_runner_ = task_runner.Pass();
+ task_runner_ = std::move(task_runner);
SetThreadTaskRunnerHandle();
}
diff --git a/base/message_loop/message_loop_test.cc b/base/message_loop/message_loop_test.cc
index a544a70..f821220 100644
--- a/base/message_loop/message_loop_test.cc
+++ b/base/message_loop/message_loop_test.cc
@@ -4,6 +4,8 @@
#include "base/message_loop/message_loop_test.h"
+#include <utility>
+
#include "base/bind.h"
#include "base/memory/ref_counted.h"
#include "base/run_loop.h"
@@ -87,7 +89,7 @@
void RunTest_PostTask(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Add tests to message loop
scoped_refptr<Foo> foo(new Foo());
std::string a("a"), b("b"), c("c"), d("d");
@@ -117,7 +119,7 @@
void RunTest_PostDelayedTask_Basic(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that PostDelayedTask results in a delayed task.
@@ -140,7 +142,7 @@
void RunTest_PostDelayedTask_InDelayOrder(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that two tasks with different delays run in the right order.
int num_tasks = 2;
@@ -165,7 +167,7 @@
void RunTest_PostDelayedTask_InPostOrder(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that two tasks with the same delay run in the order in which they
// were posted.
@@ -195,7 +197,7 @@
void RunTest_PostDelayedTask_InPostOrder_2(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that a delayed task still runs after a normal tasks even if the
// normal tasks take a long time to run.
@@ -222,7 +224,7 @@
void RunTest_PostDelayedTask_InPostOrder_3(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that a delayed task still runs after a pile of normal tasks. The key
// difference between this test and the previous one is that here we return
@@ -250,7 +252,7 @@
void RunTest_PostDelayedTask_SharedTimer(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// Test that the interval of the timer, used to run the next delayed task, is
// set to a value corresponding to when the next delayed task should run.
@@ -317,7 +319,7 @@
bool b_was_deleted = false;
{
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
loop.PostTask(
FROM_HERE, Bind(&RecordDeletionProbe::Run,
new RecordDeletionProbe(NULL, &a_was_deleted)));
@@ -337,7 +339,7 @@
bool c_was_deleted = false;
{
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
// The scoped_refptr for each of the below is held either by the chained
// RecordDeletionProbe, or the bound RecordDeletionProbe::Run() callback.
RecordDeletionProbe* a = new RecordDeletionProbe(NULL, &a_was_deleted);
@@ -364,7 +366,7 @@
void RunTest_Nesting(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
int depth = 100;
MessageLoop::current()->PostTask(FROM_HERE,
@@ -472,7 +474,7 @@
}
void RunTest_RecursiveDenial1(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed());
TaskList order;
@@ -519,7 +521,7 @@
void RunTest_RecursiveDenial3(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
EXPECT_TRUE(MessageLoop::current()->NestableTasksAllowed());
TaskList order;
@@ -560,7 +562,7 @@
void RunTest_RecursiveSupport1(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
MessageLoop::current()->PostTask(
@@ -593,7 +595,7 @@
// Tests that non nestable tasks run in FIFO if there are no nested loops.
void RunTest_NonNestableWithNoNesting(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -635,7 +637,7 @@
void RunTest_NonNestableInNestedLoop(MessagePumpFactory factory,
bool use_delayed) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -703,7 +705,7 @@
// Tests RunLoopQuit only quits the corresponding MessageLoop::Run.
void RunTest_QuitNow(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -738,7 +740,7 @@
// Tests RunLoopQuit only quits the corresponding MessageLoop::Run.
void RunTest_RunLoopQuitTop(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -768,7 +770,7 @@
// Tests RunLoopQuit only quits the corresponding MessageLoop::Run.
void RunTest_RunLoopQuitNested(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -798,7 +800,7 @@
// Tests RunLoopQuit only quits the corresponding MessageLoop::Run.
void RunTest_RunLoopQuitBogus(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -831,7 +833,7 @@
// Tests RunLoopQuit only quits the corresponding MessageLoop::Run.
void RunTest_RunLoopQuitDeep(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -900,7 +902,7 @@
// Tests RunLoopQuit works before RunWithID.
void RunTest_RunLoopQuitOrderBefore(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -921,7 +923,7 @@
// Tests RunLoopQuit works during RunWithID.
void RunTest_RunLoopQuitOrderDuring(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -948,7 +950,7 @@
// Tests RunLoopQuit works after RunWithID.
void RunTest_RunLoopQuitOrderAfter(MessagePumpFactory factory) {
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
TaskList order;
@@ -1006,7 +1008,7 @@
void RunTest_RecursivePosts(MessagePumpFactory factory) {
const int kNumTimes = 1 << 17;
scoped_ptr<MessagePump> pump(factory());
- MessageLoop loop(pump.Pass());
+ MessageLoop loop(std::move(pump));
loop.PostTask(FROM_HERE, Bind(&PostNTasksThenQuit, kNumTimes));
loop.Run();
}
diff --git a/base/metrics/histogram.cc b/base/metrics/histogram.cc
index b37bc4c..1bbcab7 100644
--- a/base/metrics/histogram.cc
+++ b/base/metrics/histogram.cc
@@ -293,7 +293,7 @@
}
scoped_ptr<HistogramSamples> Histogram::SnapshotSamples() const {
- return SnapshotSampleVector().Pass();
+ return SnapshotSampleVector();
}
void Histogram::AddSamples(const HistogramSamples& samples) {
@@ -394,7 +394,7 @@
scoped_ptr<SampleVector> Histogram::SnapshotSampleVector() const {
scoped_ptr<SampleVector> samples(new SampleVector(bucket_ranges()));
samples->Add(*samples_);
- return samples.Pass();
+ return samples;
}
void Histogram::WriteAsciiImpl(bool graph_it,
diff --git a/base/metrics/histogram_base.cc b/base/metrics/histogram_base.cc
index 92da79f..e9d48988 100644
--- a/base/metrics/histogram_base.cc
+++ b/base/metrics/histogram_base.cc
@@ -5,6 +5,7 @@
#include "base/metrics/histogram_base.h"
#include <climits>
+#include <utility>
#include "base/json/json_string_value_serializer.h"
#include "base/logging.h"
@@ -114,8 +115,8 @@
root.SetInteger("count", count);
root.SetDouble("sum", static_cast<double>(sum));
root.SetInteger("flags", flags());
- root.Set("params", parameters.Pass());
- root.Set("buckets", buckets.Pass());
+ root.Set("params", std::move(parameters));
+ root.Set("buckets", std::move(buckets));
root.SetInteger("pid", GetCurrentProcId());
serializer.Serialize(root);
}
diff --git a/base/metrics/sparse_histogram.cc b/base/metrics/sparse_histogram.cc
index 39c276d7..7955c57 100644
--- a/base/metrics/sparse_histogram.cc
+++ b/base/metrics/sparse_histogram.cc
@@ -4,6 +4,8 @@
#include "base/metrics/sparse_histogram.h"
+#include <utility>
+
#include "base/metrics/sample_map.h"
#include "base/metrics/statistics_recorder.h"
#include "base/pickle.h"
@@ -67,7 +69,7 @@
base::AutoLock auto_lock(lock_);
snapshot->Add(samples_);
- return snapshot.Pass();
+ return std::move(snapshot);
}
void SparseHistogram::AddSamples(const HistogramSamples& samples) {
diff --git a/base/move_unittest.cc b/base/move_unittest.cc
index 1f4ce84c..da0be63 100644
--- a/base/move_unittest.cc
+++ b/base/move_unittest.cc
@@ -24,7 +24,7 @@
Container(const Container& other) = default;
Container& operator=(const Container& other) = default;
- Container(Container&& other) { value_ = other.value_.Pass(); }
+ Container(Container&& other) { value_ = std::move(other.value_); }
Container& operator=(Container&& other) {
value_ = other.value_.Pass();
diff --git a/base/power_monitor/power_monitor.cc b/base/power_monitor/power_monitor.cc
index 98c9c68..1033299 100644
--- a/base/power_monitor/power_monitor.cc
+++ b/base/power_monitor/power_monitor.cc
@@ -3,6 +3,9 @@
// found in the LICENSE file.
#include "base/power_monitor/power_monitor.h"
+
+#include <utility>
+
#include "base/power_monitor/power_monitor_source.h"
namespace base {
@@ -11,7 +14,7 @@
PowerMonitor::PowerMonitor(scoped_ptr<PowerMonitorSource> source)
: observers_(new ObserverListThreadSafe<PowerObserver>()),
- source_(source.Pass()) {
+ source_(std::move(source)) {
DCHECK(!g_power_monitor);
g_power_monitor = this;
}
diff --git a/base/prefs/default_pref_store.cc b/base/prefs/default_pref_store.cc
index efb4a75..b08ef7a5 100644
--- a/base/prefs/default_pref_store.cc
+++ b/base/prefs/default_pref_store.cc
@@ -3,6 +3,9 @@
// found in the LICENSE file.
#include "base/prefs/default_pref_store.h"
+
+#include <utility>
+
#include "base/logging.h"
using base::Value;
@@ -29,7 +32,7 @@
void DefaultPrefStore::SetDefaultValue(const std::string& key,
scoped_ptr<Value> value) {
DCHECK(!GetValue(key, NULL));
- prefs_.SetValue(key, value.Pass());
+ prefs_.SetValue(key, std::move(value));
}
void DefaultPrefStore::ReplaceDefaultValue(const std::string& key,
@@ -37,7 +40,7 @@
const Value* old_value = NULL;
GetValue(key, &old_value);
bool notify = !old_value->Equals(value.get());
- prefs_.SetValue(key, value.Pass());
+ prefs_.SetValue(key, std::move(value));
if (notify)
FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key));
}
diff --git a/base/prefs/json_pref_store.cc b/base/prefs/json_pref_store.cc
index 22036de..637ec70b 100644
--- a/base/prefs/json_pref_store.cc
+++ b/base/prefs/json_pref_store.cc
@@ -5,6 +5,7 @@
#include "base/prefs/json_pref_store.h"
#include <algorithm>
+#include <utility>
#include "base/bind.h"
#include "base/callback.h"
@@ -126,7 +127,7 @@
if (read_result->error == PersistentPrefStore::PREF_READ_ERROR_NONE)
RecordJsonDataSizeHistogram(path, deserializer.get_last_read_size());
- return read_result.Pass();
+ return read_result;
}
} // namespace
@@ -149,8 +150,7 @@
: JsonPrefStore(pref_filename,
base::FilePath(),
sequenced_task_runner,
- pref_filter.Pass()) {
-}
+ std::move(pref_filter)) {}
JsonPrefStore::JsonPrefStore(
const base::FilePath& pref_filename,
@@ -163,7 +163,7 @@
prefs_(new base::DictionaryValue()),
read_only_(false),
writer_(pref_filename, sequenced_task_runner),
- pref_filter_(pref_filter.Pass()),
+ pref_filter_(std::move(pref_filter)),
initialized_(false),
filtering_in_progress_(false),
pending_lossy_write_(false),
@@ -225,7 +225,7 @@
base::Value* old_value = nullptr;
prefs_->Get(key, &old_value);
if (!old_value || !value->Equals(old_value)) {
- prefs_->Set(key, value.Pass());
+ prefs_->Set(key, std::move(value));
ReportValueChanged(key, flags);
}
}
@@ -239,7 +239,7 @@
base::Value* old_value = nullptr;
prefs_->Get(key, &old_value);
if (!old_value || !value->Equals(old_value)) {
- prefs_->Set(key, value.Pass());
+ prefs_->Set(key, std::move(value));
ScheduleWrite(flags);
}
}
@@ -377,9 +377,10 @@
&JsonPrefStore::FinalizeFileRead, AsWeakPtr(),
initialization_successful));
pref_filter_->FilterOnLoad(post_filter_on_load_callback,
- unfiltered_prefs.Pass());
+ std::move(unfiltered_prefs));
} else {
- FinalizeFileRead(initialization_successful, unfiltered_prefs.Pass(), false);
+ FinalizeFileRead(initialization_successful, std::move(unfiltered_prefs),
+ false);
}
}
@@ -419,7 +420,7 @@
return;
}
- prefs_ = prefs.Pass();
+ prefs_ = std::move(prefs);
initialized_ = true;
diff --git a/base/prefs/json_pref_store_unittest.cc b/base/prefs/json_pref_store_unittest.cc
index 5195a18..d850292 100644
--- a/base/prefs/json_pref_store_unittest.cc
+++ b/base/prefs/json_pref_store_unittest.cc
@@ -4,6 +4,8 @@
#include "base/prefs/json_pref_store.h"
+#include <utility>
+
#include "base/bind.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
@@ -73,12 +75,12 @@
const PostFilterOnLoadCallback& post_filter_on_load_callback,
scoped_ptr<base::DictionaryValue> pref_store_contents) {
post_filter_on_load_callback_ = post_filter_on_load_callback;
- intercepted_prefs_ = pref_store_contents.Pass();
+ intercepted_prefs_ = std::move(pref_store_contents);
}
void InterceptingPrefFilter::ReleasePrefs() {
EXPECT_FALSE(post_filter_on_load_callback_.is_null());
- post_filter_on_load_callback_.Run(intercepted_prefs_.Pass(), false);
+ post_filter_on_load_callback_.Run(std::move(intercepted_prefs_), false);
post_filter_on_load_callback_.Reset();
}
@@ -348,7 +350,7 @@
scoped_ptr<base::DictionaryValue> dict(new base::DictionaryValue);
dict->SetString("key", "value");
- pref_store->SetValue("dict", dict.Pass(),
+ pref_store->SetValue("dict", std::move(dict),
WriteablePrefStore::DEFAULT_PREF_WRITE_FLAGS);
pref_store->RemoveValue("dict.key",
@@ -392,8 +394,9 @@
new InterceptingPrefFilter());
InterceptingPrefFilter* raw_intercepting_pref_filter_ =
intercepting_pref_filter.get();
- scoped_refptr<JsonPrefStore> pref_store = new JsonPrefStore(
- input_file, message_loop_.task_runner(), intercepting_pref_filter.Pass());
+ scoped_refptr<JsonPrefStore> pref_store =
+ new JsonPrefStore(input_file, message_loop_.task_runner(),
+ std::move(intercepting_pref_filter));
ASSERT_EQ(PersistentPrefStore::PREF_READ_ERROR_ASYNCHRONOUS_TASK_INCOMPLETE,
pref_store->ReadPrefs());
@@ -437,8 +440,9 @@
new InterceptingPrefFilter());
InterceptingPrefFilter* raw_intercepting_pref_filter_ =
intercepting_pref_filter.get();
- scoped_refptr<JsonPrefStore> pref_store = new JsonPrefStore(
- input_file, message_loop_.task_runner(), intercepting_pref_filter.Pass());
+ scoped_refptr<JsonPrefStore> pref_store =
+ new JsonPrefStore(input_file, message_loop_.task_runner(),
+ std::move(intercepting_pref_filter));
MockPrefStoreObserver mock_observer;
pref_store->AddObserver(&mock_observer);
diff --git a/base/prefs/overlay_user_pref_store.cc b/base/prefs/overlay_user_pref_store.cc
index d76b537..f386cef 100644
--- a/base/prefs/overlay_user_pref_store.cc
+++ b/base/prefs/overlay_user_pref_store.cc
@@ -4,6 +4,8 @@
#include "base/prefs/overlay_user_pref_store.h"
+#include <utility>
+
#include "base/memory/scoped_ptr.h"
#include "base/values.h"
@@ -66,11 +68,11 @@
scoped_ptr<base::Value> value,
uint32 flags) {
if (!ShallBeStoredInOverlay(key)) {
- underlay_->SetValue(GetUnderlayKey(key), value.Pass(), flags);
+ underlay_->SetValue(GetUnderlayKey(key), std::move(value), flags);
return;
}
- if (overlay_.SetValue(key, value.Pass()))
+ if (overlay_.SetValue(key, std::move(value)))
ReportValueChanged(key, flags);
}
@@ -78,11 +80,11 @@
scoped_ptr<base::Value> value,
uint32 flags) {
if (!ShallBeStoredInOverlay(key)) {
- underlay_->SetValueSilently(GetUnderlayKey(key), value.Pass(), flags);
+ underlay_->SetValueSilently(GetUnderlayKey(key), std::move(value), flags);
return;
}
- overlay_.SetValue(key, value.Pass());
+ overlay_.SetValue(key, std::move(value));
}
void OverlayUserPrefStore::RemoveValue(const std::string& key, uint32 flags) {
diff --git a/base/prefs/pref_member.cc b/base/prefs/pref_member.cc
index 64c3d6a..934237d 100644
--- a/base/prefs/pref_member.cc
+++ b/base/prefs/pref_member.cc
@@ -4,6 +4,8 @@
#include "base/prefs/pref_member.h"
+#include <utility>
+
#include "base/callback.h"
#include "base/callback_helpers.h"
#include "base/location.h"
@@ -56,7 +58,7 @@
// Load the value from preferences if it hasn't been loaded so far.
if (!internal())
UpdateValueFromPref(base::Closure());
- internal()->MoveToThread(task_runner.Pass());
+ internal()->MoveToThread(std::move(task_runner));
}
void PrefMemberBase::OnPreferenceChanged(PrefService* service,
@@ -124,7 +126,7 @@
void PrefMemberBase::Internal::MoveToThread(
scoped_refptr<SingleThreadTaskRunner> task_runner) {
CheckOnCorrectThread();
- thread_task_runner_ = task_runner.Pass();
+ thread_task_runner_ = std::move(task_runner);
}
bool PrefMemberVectorStringUpdate(const base::Value& value,
diff --git a/base/prefs/pref_service.cc b/base/prefs/pref_service.cc
index c53b8966..7741306b 100644
--- a/base/prefs/pref_service.cc
+++ b/base/prefs/pref_service.cc
@@ -5,6 +5,7 @@
#include "base/prefs/pref_service.h"
#include <algorithm>
+#include <utility>
#include "base/bind.h"
#include "base/files/file_path.h"
@@ -197,7 +198,7 @@
for (const auto& it : *pref_registry_) {
out->Set(it.first, GetPreferenceValue(it.first)->CreateDeepCopy());
}
- return out.Pass();
+ return out;
}
scoped_ptr<base::DictionaryValue> PrefService::GetPreferenceValuesOmitDefaults()
@@ -210,7 +211,7 @@
continue;
out->Set(it.first, pref->GetValue()->CreateDeepCopy());
}
- return out.Pass();
+ return out;
}
scoped_ptr<base::DictionaryValue>
@@ -222,7 +223,7 @@
DCHECK(value);
out->SetWithoutPathExpansion(it.first, value->CreateDeepCopy());
}
- return out.Pass();
+ return out;
}
const PrefService::Preference* PrefService::FindPreference(
@@ -499,7 +500,7 @@
return;
}
- user_pref_store_->SetValue(path, owned_value.Pass(), GetWriteFlags(pref));
+ user_pref_store_->SetValue(path, std::move(owned_value), GetWriteFlags(pref));
}
void PrefService::UpdateCommandLinePrefStore(PrefStore* command_line_store) {
diff --git a/base/prefs/pref_service_factory.cc b/base/prefs/pref_service_factory.cc
index 8caf073..2380a86 100644
--- a/base/prefs/pref_service_factory.cc
+++ b/base/prefs/pref_service_factory.cc
@@ -59,7 +59,7 @@
pref_registry,
read_error_callback_,
async_));
- return pref_service.Pass();
+ return pref_service;
}
} // namespace base
diff --git a/base/prefs/pref_value_map.cc b/base/prefs/pref_value_map.cc
index 93eadb72db..2340e3c 100644
--- a/base/prefs/pref_value_map.cc
+++ b/base/prefs/pref_value_map.cc
@@ -5,6 +5,7 @@
#include "base/prefs/pref_value_map.h"
#include <map>
+#include <utility>
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
@@ -40,7 +41,7 @@
if (old_value && value->Equals(old_value))
return false;
- prefs_.set(key, value.Pass());
+ prefs_.set(key, std::move(value));
return true;
}
diff --git a/base/prefs/testing_pref_store.cc b/base/prefs/testing_pref_store.cc
index 2322f4e..a3a7ab5199 100644
--- a/base/prefs/testing_pref_store.cc
+++ b/base/prefs/testing_pref_store.cc
@@ -4,6 +4,8 @@
#include "base/prefs/testing_pref_store.h"
+#include <utility>
+
#include "base/memory/scoped_ptr.h"
#include "base/values.h"
@@ -45,7 +47,7 @@
void TestingPrefStore::SetValue(const std::string& key,
scoped_ptr<base::Value> value,
uint32 flags) {
- if (prefs_.SetValue(key, value.Pass())) {
+ if (prefs_.SetValue(key, std::move(value))) {
committed_ = false;
NotifyPrefValueChanged(key);
}
@@ -54,7 +56,7 @@
void TestingPrefStore::SetValueSilently(const std::string& key,
scoped_ptr<base::Value> value,
uint32 flags) {
- if (prefs_.SetValue(key, value.Pass()))
+ if (prefs_.SetValue(key, std::move(value)))
committed_ = false;
}
diff --git a/base/prefs/value_map_pref_store.cc b/base/prefs/value_map_pref_store.cc
index f22f93a..078ab28 100644
--- a/base/prefs/value_map_pref_store.cc
+++ b/base/prefs/value_map_pref_store.cc
@@ -5,6 +5,7 @@
#include "base/prefs/value_map_pref_store.h"
#include <algorithm>
+#include <utility>
#include "base/stl_util.h"
#include "base/values.h"
@@ -31,7 +32,7 @@
void ValueMapPrefStore::SetValue(const std::string& key,
scoped_ptr<base::Value> value,
uint32 flags) {
- if (prefs_.SetValue(key, value.Pass()))
+ if (prefs_.SetValue(key, std::move(value)))
FOR_EACH_OBSERVER(Observer, observers_, OnPrefValueChanged(key));
}
@@ -53,7 +54,7 @@
void ValueMapPrefStore::SetValueSilently(const std::string& key,
scoped_ptr<base::Value> value,
uint32 flags) {
- prefs_.SetValue(key, value.Pass());
+ prefs_.SetValue(key, std::move(value));
}
ValueMapPrefStore::~ValueMapPrefStore() {}
diff --git a/base/process/process_metrics.cc b/base/process/process_metrics.cc
index 6d99383..f4a3ea1 100644
--- a/base/process/process_metrics.cc
+++ b/base/process/process_metrics.cc
@@ -4,6 +4,8 @@
#include "base/process/process_metrics.h"
+#include <utility>
+
#include "base/logging.h"
#include "base/values.h"
@@ -40,7 +42,7 @@
res->Set("swapinfo", swap_info_.ToValue());
#endif
- return res.Pass();
+ return std::move(res);
}
ProcessMetrics* ProcessMetrics::CreateCurrentProcessMetrics() {
diff --git a/base/process/process_metrics_linux.cc b/base/process/process_metrics_linux.cc
index adca7c5..63d60148 100644
--- a/base/process/process_metrics_linux.cc
+++ b/base/process/process_metrics_linux.cc
@@ -10,6 +10,7 @@
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>
+#include <utility>
#include "base/files/file_util.h"
#include "base/logging.h"
@@ -544,7 +545,7 @@
res->SetInteger("gem_size", gem_size);
#endif
- return res.Pass();
+ return std::move(res);
}
// exposed for testing
@@ -747,7 +748,7 @@
res->SetDouble("io_time", static_cast<double>(io_time));
res->SetDouble("weighted_io_time", static_cast<double>(weighted_io_time));
- return res.Pass();
+ return std::move(res);
}
bool IsValidDiskName(const std::string& candidate) {
@@ -872,7 +873,7 @@
else
res->SetDouble("compression_ratio", 0);
- return res.Pass();
+ return std::move(res);
}
void GetSwapInfo(SwapInfo* swap_info) {
diff --git a/base/profiler/stack_sampling_profiler.cc b/base/profiler/stack_sampling_profiler.cc
index c7e38c0e..52b412d 100644
--- a/base/profiler/stack_sampling_profiler.cc
+++ b/base/profiler/stack_sampling_profiler.cc
@@ -5,6 +5,7 @@
#include "base/profiler/stack_sampling_profiler.h"
#include <algorithm>
+#include <utility>
#include "base/bind.h"
#include "base/bind_helpers.h"
@@ -113,11 +114,10 @@
scoped_ptr<NativeStackSampler> native_sampler,
const SamplingParams& params,
const CompletedCallback& completed_callback)
- : native_sampler_(native_sampler.Pass()),
+ : native_sampler_(std::move(native_sampler)),
params_(params),
stop_event_(false, false),
- completed_callback_(completed_callback) {
-}
+ completed_callback_(completed_callback) {}
StackSamplingProfiler::SamplingThread::~SamplingThread() {}
@@ -256,8 +256,8 @@
if (!native_sampler)
return;
- sampling_thread_.reset(
- new SamplingThread(native_sampler.Pass(), params_, completed_callback_));
+ sampling_thread_.reset(new SamplingThread(std::move(native_sampler), params_,
+ completed_callback_));
if (!PlatformThread::Create(0, sampling_thread_.get(),
&sampling_thread_handle_))
sampling_thread_.reset();
diff --git a/base/profiler/win32_stack_frame_unwinder.cc b/base/profiler/win32_stack_frame_unwinder.cc
index 2c06891..fc9a9a5 100644
--- a/base/profiler/win32_stack_frame_unwinder.cc
+++ b/base/profiler/win32_stack_frame_unwinder.cc
@@ -5,6 +5,7 @@
#include "base/profiler/win32_stack_frame_unwinder.h"
#include <windows.h>
+#include <utility>
#include "base/containers/hash_tables.h"
#include "base/memory/singleton.h"
@@ -292,7 +293,6 @@
scoped_ptr<UnwindFunctions> unwind_functions)
: at_top_frame_(true),
unwind_info_present_for_all_frames_(true),
- unwind_functions_(unwind_functions.Pass()) {
-}
+ unwind_functions_(std::move(unwind_functions)) {}
} // namespace base
diff --git a/base/profiler/win32_stack_frame_unwinder_unittest.cc b/base/profiler/win32_stack_frame_unwinder_unittest.cc
index 2fe34a7..37032e1 100644
--- a/base/profiler/win32_stack_frame_unwinder_unittest.cc
+++ b/base/profiler/win32_stack_frame_unwinder_unittest.cc
@@ -2,11 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/profiler/win32_stack_frame_unwinder.h"
+
+#include <utility>
#include <vector>
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
-#include "base/profiler/win32_stack_frame_unwinder.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
@@ -197,7 +199,8 @@
Win32StackFrameUnwinderTest::CreateUnwinder() {
scoped_ptr<TestUnwindFunctions> unwind_functions(new TestUnwindFunctions);
unwind_functions_ = unwind_functions.get();
- return make_scoped_ptr(new Win32StackFrameUnwinder(unwind_functions.Pass()));
+ return make_scoped_ptr(
+ new Win32StackFrameUnwinder(std::move(unwind_functions)));
}
// Checks the case where all frames have unwind information.
diff --git a/base/scoped_generic_unittest.cc b/base/scoped_generic_unittest.cc
index b28e154..5a6abfb 100644
--- a/base/scoped_generic_unittest.cc
+++ b/base/scoped_generic_unittest.cc
@@ -2,9 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/scoped_generic.h"
+
+#include <utility>
#include <vector>
-#include "base/scoped_generic.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
@@ -85,10 +87,10 @@
EXPECT_EQ(kSecond, values_freed[1]);
values_freed.clear();
- // Pass constructor.
+ // Move constructor.
{
ScopedInt a(kFirst, traits);
- ScopedInt b(a.Pass());
+ ScopedInt b(std::move(a));
EXPECT_TRUE(values_freed.empty()); // Nothing should be freed.
ASSERT_EQ(IntTraits::InvalidValue(), a.get());
ASSERT_EQ(kFirst, b.get());
@@ -98,11 +100,11 @@
ASSERT_EQ(kFirst, values_freed[0]);
values_freed.clear();
- // Pass assign.
+ // Move assign.
{
ScopedInt a(kFirst, traits);
ScopedInt b(kSecond, traits);
- b = a.Pass();
+ b = std::move(a);
ASSERT_EQ(1u, values_freed.size());
EXPECT_EQ(kSecond, values_freed[0]);
ASSERT_EQ(IntTraits::InvalidValue(), a.get());
diff --git a/base/sequence_checker_unittest.cc b/base/sequence_checker_unittest.cc
index 0aa0f9cd..f0eda25a 100644
--- a/base/sequence_checker_unittest.cc
+++ b/base/sequence_checker_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 "base/sequence_checker.h"
+
+#include <utility>
+
#include "base/basictypes.h"
#include "base/bind.h"
#include "base/bind_helpers.h"
@@ -9,7 +13,6 @@
#include "base/logging.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "base/sequence_checker.h"
#include "base/single_thread_task_runner.h"
#include "base/test/sequenced_worker_pool_owner.h"
#include "base/threading/thread.h"
@@ -130,7 +133,7 @@
new SequenceCheckedObject);
// Verify the destructor doesn't assert when called on a different thread.
- PostDeleteToOtherThread(sequence_checked_object.Pass());
+ PostDeleteToOtherThread(std::move(sequence_checked_object));
other_thread()->Stop();
}
@@ -157,7 +160,7 @@
PostDoStuffToWorkerPool(sequence_checked_object.get(), "A");
pool()->FlushForTesting();
- PostDeleteToOtherThread(sequence_checked_object.Pass());
+ PostDeleteToOtherThread(std::move(sequence_checked_object));
other_thread()->Stop();
}
@@ -175,7 +178,7 @@
PostDoStuffToWorkerPool(sequence_checked_object.get(), "B");
pool()->FlushForTesting();
- PostDeleteToOtherThread(sequence_checked_object.Pass());
+ PostDeleteToOtherThread(std::move(sequence_checked_object));
other_thread()->Stop();
}
@@ -245,7 +248,7 @@
PostDoStuffToWorkerPool(sequence_checked_object.get(), "B");
pool()->FlushForTesting();
- PostDeleteToOtherThread(sequence_checked_object.Pass());
+ PostDeleteToOtherThread(std::move(sequence_checked_object));
other_thread()->Stop();
}
diff --git a/base/task_runner_util_unittest.cc b/base/task_runner_util_unittest.cc
index 8245cfc..0a4f22e 100644
--- a/base/task_runner_util_unittest.cc
+++ b/base/task_runner_util_unittest.cc
@@ -4,6 +4,8 @@
#include "base/task_runner_util.h"
+#include <utility>
+
#include "base/bind.h"
#include "base/location.h"
#include "base/run_loop.h"
@@ -40,7 +42,7 @@
void ExpectFoo(scoped_ptr<Foo> foo) {
EXPECT_TRUE(foo.get());
- scoped_ptr<Foo> local_foo(foo.Pass());
+ scoped_ptr<Foo> local_foo(std::move(foo));
EXPECT_TRUE(local_foo.get());
EXPECT_FALSE(foo.get());
}
@@ -58,7 +60,7 @@
void ExpectScopedFoo(scoped_ptr<Foo, FooDeleter> foo) {
EXPECT_TRUE(foo.get());
- scoped_ptr<Foo, FooDeleter> local_foo(foo.Pass());
+ scoped_ptr<Foo, FooDeleter> local_foo(std::move(foo));
EXPECT_TRUE(local_foo.get());
EXPECT_FALSE(foo.get());
}
diff --git a/base/test/histogram_tester.cc b/base/test/histogram_tester.cc
index 09b4ef3..7fcde6d 100644
--- a/base/test/histogram_tester.cc
+++ b/base/test/histogram_tester.cc
@@ -127,7 +127,7 @@
auto original_samples_it = histograms_snapshot_.find(histogram_name);
if (original_samples_it != histograms_snapshot_.end())
named_samples->Subtract(*original_samples_it->second);
- return named_samples.Pass();
+ return named_samples;
}
void HistogramTester::CheckBucketCount(
diff --git a/base/test/launcher/test_results_tracker.cc b/base/test/launcher/test_results_tracker.cc
index b766fa6..8516a48 100644
--- a/base/test/launcher/test_results_tracker.cc
+++ b/base/test/launcher/test_results_tracker.cc
@@ -4,6 +4,8 @@
#include "base/test/launcher/test_results_tracker.h"
+#include <utility>
+
#include "base/base64.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
@@ -226,19 +228,19 @@
for (const auto& global_tag : global_tags_) {
global_tags->AppendString(global_tag);
}
- summary_root->Set("global_tags", global_tags.Pass());
+ summary_root->Set("global_tags", std::move(global_tags));
scoped_ptr<ListValue> all_tests(new ListValue);
for (const auto& test : all_tests_) {
all_tests->AppendString(test);
}
- summary_root->Set("all_tests", all_tests.Pass());
+ summary_root->Set("all_tests", std::move(all_tests));
scoped_ptr<ListValue> disabled_tests(new ListValue);
for (const auto& disabled_test : disabled_tests_) {
disabled_tests->AppendString(disabled_test);
}
- summary_root->Set("disabled_tests", disabled_tests.Pass());
+ summary_root->Set("disabled_tests", std::move(disabled_tests));
scoped_ptr<ListValue> per_iteration_data(new ListValue);
@@ -284,14 +286,14 @@
Base64Encode(test_result.output_snippet, &base64_output_snippet);
test_result_value->SetString("output_snippet_base64",
base64_output_snippet);
- test_results->Append(test_result_value.Pass());
+ test_results->Append(std::move(test_result_value));
}
current_iteration_data->SetWithoutPathExpansion(j->first,
- test_results.Pass());
+ std::move(test_results));
}
- per_iteration_data->Append(current_iteration_data.Pass());
- summary_root->Set("per_iteration_data", per_iteration_data.Pass());
+ per_iteration_data->Append(std::move(current_iteration_data));
+ summary_root->Set("per_iteration_data", std::move(per_iteration_data));
}
JSONFileValueSerializer serializer(path);
diff --git a/base/test/thread_test_helper.cc b/base/test/thread_test_helper.cc
index 6a12190..f238cee 100644
--- a/base/test/thread_test_helper.cc
+++ b/base/test/thread_test_helper.cc
@@ -4,6 +4,8 @@
#include "base/test/thread_test_helper.h"
+#include <utility>
+
#include "base/bind.h"
#include "base/location.h"
#include "base/threading/thread_restrictions.h"
@@ -13,9 +15,8 @@
ThreadTestHelper::ThreadTestHelper(
scoped_refptr<SingleThreadTaskRunner> target_thread)
: test_result_(false),
- target_thread_(target_thread.Pass()),
- done_event_(false, false) {
-}
+ target_thread_(std::move(target_thread)),
+ done_event_(false, false) {}
bool ThreadTestHelper::Run() {
if (!target_thread_->PostTask(
diff --git a/base/test/values_test_util.cc b/base/test/values_test_util.cc
index ebfc4948..f974c14 100644
--- a/base/test/values_test_util.cc
+++ b/base/test/values_test_util.cc
@@ -70,7 +70,7 @@
ADD_FAILURE() << "Failed to parse \"" << json << "\": " << error_msg;
result = Value::CreateNullValue();
}
- return result.Pass();
+ return result;
}
} // namespace test
diff --git a/base/timer/hi_res_timer_manager_unittest.cc b/base/timer/hi_res_timer_manager_unittest.cc
index 5475a91..4fc48b5c 100644
--- a/base/timer/hi_res_timer_manager_unittest.cc
+++ b/base/timer/hi_res_timer_manager_unittest.cc
@@ -4,6 +4,8 @@
#include "base/timer/hi_res_timer_manager.h"
+#include <utility>
+
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/power_monitor/power_monitor.h"
@@ -22,7 +24,7 @@
scoped_ptr<base::PowerMonitorSource> power_monitor_source(
new base::PowerMonitorDeviceSource());
scoped_ptr<base::PowerMonitor> power_monitor(
- new base::PowerMonitor(power_monitor_source.Pass()));
+ new base::PowerMonitor(std::move(power_monitor_source)));
HighResolutionTimerManager manager;
// Simulate a on-AC power event to get to a known initial state.
diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc
index 6f2e8b0..e6a1cc3 100644
--- a/base/trace_event/memory_dump_manager.cc
+++ b/base/trace_event/memory_dump_manager.cc
@@ -5,6 +5,7 @@
#include "base/trace_event/memory_dump_manager.h"
#include <algorithm>
+#include <utility>
#include "base/atomic_sequence_num.h"
#include "base/base_switches.h"
@@ -306,7 +307,7 @@
// Start the thread hop. |dump_providers_| are kept sorted by thread, so
// ContinueAsyncProcessDump will hop at most once per thread (w.r.t. thread
// affinity specified by the MemoryDumpProvider(s) in RegisterDumpProvider()).
- ContinueAsyncProcessDump(pmd_async_state.Pass());
+ ContinueAsyncProcessDump(std::move(pmd_async_state));
}
// At most one ContinueAsyncProcessDump() can be active at any time for a given
@@ -378,7 +379,7 @@
const bool did_post_task = task_runner->PostTask(
FROM_HERE, Bind(&MemoryDumpManager::ContinueAsyncProcessDump,
- Unretained(this), Passed(pmd_async_state.Pass())));
+ Unretained(this), Passed(&pmd_async_state)));
if (did_post_task)
return;
@@ -430,9 +431,9 @@
}
if (finalize)
- return FinalizeDumpAndAddToTrace(pmd_async_state.Pass());
+ return FinalizeDumpAndAddToTrace(std::move(pmd_async_state));
- ContinueAsyncProcessDump(pmd_async_state.Pass());
+ ContinueAsyncProcessDump(std::move(pmd_async_state));
}
// static
@@ -444,7 +445,7 @@
pmd_async_state->callback_task_runner;
callback_task_runner->PostTask(
FROM_HERE, Bind(&MemoryDumpManager::FinalizeDumpAndAddToTrace,
- Passed(pmd_async_state.Pass())));
+ Passed(&pmd_async_state)));
return;
}
@@ -529,7 +530,7 @@
}
DCHECK(!dump_thread_);
- dump_thread_ = dump_thread.Pass();
+ dump_thread_ = std::move(dump_thread);
session_state_ = new MemoryDumpSessionState(stack_frame_deduplicator);
for (auto it = dump_providers_.begin(); it != dump_providers_.end(); ++it) {
@@ -583,7 +584,7 @@
scoped_ptr<Thread> dump_thread;
{
AutoLock lock(lock_);
- dump_thread = dump_thread_.Pass();
+ dump_thread = std::move(dump_thread_);
session_state_ = nullptr;
}
@@ -645,7 +646,7 @@
auto iter = process_dumps.find(pid);
if (iter == process_dumps.end()) {
scoped_ptr<ProcessMemoryDump> new_pmd(new ProcessMemoryDump(session_state));
- iter = process_dumps.insert(pid, new_pmd.Pass()).first;
+ iter = process_dumps.insert(pid, std::move(new_pmd)).first;
}
return iter->second;
}
diff --git a/base/trace_event/trace_buffer.cc b/base/trace_event/trace_buffer.cc
index a2e4f14..eb7caa5a 100644
--- a/base/trace_event/trace_buffer.cc
+++ b/base/trace_event/trace_buffer.cc
@@ -4,6 +4,8 @@
#include "base/trace_event/trace_buffer.h"
+#include <utility>
+
#include "base/memory/scoped_vector.h"
#include "base/trace_event/trace_event_impl.h"
@@ -105,7 +107,7 @@
TraceBufferChunk* chunk = chunks_[chunk_index];
cloned_buffer->chunks_.push_back(chunk ? chunk->Clone().release() : NULL);
}
- return cloned_buffer.Pass();
+ return std::move(cloned_buffer);
}
void EstimateTraceMemoryOverhead(
@@ -309,7 +311,7 @@
cloned_chunk->next_free_ = next_free_;
for (size_t i = 0; i < next_free_; ++i)
cloned_chunk->chunk_[i].CopyFrom(chunk_[i]);
- return cloned_chunk.Pass();
+ return cloned_chunk;
}
void TraceBufferChunk::EstimateTraceMemoryOverhead(
diff --git a/base/trace_event/trace_config.cc b/base/trace_event/trace_config.cc
index 7124bea..fbe7e68 100644
--- a/base/trace_event/trace_config.cc
+++ b/base/trace_event/trace_config.cc
@@ -4,6 +4,8 @@
#include "base/trace_event/trace_config.h"
+#include <utility>
+
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/strings/pattern.h"
@@ -466,7 +468,7 @@
list->AppendString(*ci);
}
- dict.Set(param, list.Pass());
+ dict.Set(param, std::move(list));
}
void TraceConfig::SetMemoryDumpConfig(
@@ -558,13 +560,13 @@
static_cast<int>(config.periodic_interval_ms));
trigger_dict->SetString(
kModeParam, MemoryDumpLevelOfDetailToString(config.level_of_detail));
- triggers_list->Append(trigger_dict.Pass());
+ triggers_list->Append(std::move(trigger_dict));
}
// Empty triggers will still be specified explicitly since it means that
// the periodic dumps are not enabled.
- memory_dump_config->Set(kTriggersParam, triggers_list.Pass());
- dict.Set(kMemoryDumpConfigParam, memory_dump_config.Pass());
+ memory_dump_config->Set(kTriggersParam, std::move(triggers_list));
+ dict.Set(kMemoryDumpConfigParam, std::move(memory_dump_config));
}
}
diff --git a/base/trace_event/trace_event_argument.cc b/base/trace_event/trace_event_argument.cc
index e370fcb2..72c6866 100644
--- a/base/trace_event/trace_event_argument.cc
+++ b/base/trace_event/trace_event_argument.cc
@@ -4,6 +4,8 @@
#include "base/trace_event/trace_event_argument.h"
+#include <utility>
+
#include "base/bits.h"
#include "base/json/json_writer.h"
#include "base/trace_event/trace_event_memory_overhead.h"
@@ -439,7 +441,7 @@
}
}
DCHECK(stack.empty());
- return root.Pass();
+ return std::move(root);
}
void TracedValue::AppendAsTraceFormat(std::string* out) const {
diff --git a/base/trace_event/trace_event_argument_unittest.cc b/base/trace_event/trace_event_argument_unittest.cc
index c1233ac3..c9ccdb4 100644
--- a/base/trace_event/trace_event_argument_unittest.cc
+++ b/base/trace_event/trace_event_argument_unittest.cc
@@ -3,6 +3,9 @@
// found in the LICENSE file.
#include "base/trace_event/trace_event_argument.h"
+
+#include <utility>
+
#include "base/values.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -106,11 +109,11 @@
list_value->AppendBoolean(false);
list_value->AppendInteger(1);
list_value->AppendString("in_list");
- list_value->Append(dict_value.Pass());
+ list_value->Append(std::move(dict_value));
scoped_refptr<TracedValue> value = new TracedValue();
value->BeginDictionary("outer_dict");
- value->SetValue("inner_list", list_value.Pass());
+ value->SetValue("inner_list", std::move(list_value));
value->EndDictionary();
dict_value.reset();
diff --git a/base/trace_event/trace_event_memory.cc b/base/trace_event/trace_event_memory.cc
index 73c8536..187bf74 100644
--- a/base/trace_event/trace_event_memory.cc
+++ b/base/trace_event/trace_event_memory.cc
@@ -4,6 +4,8 @@
#include "base/trace_event/trace_event_memory.h"
+#include <utility>
+
#include "base/debug/leak_annotations.h"
#include "base/lazy_instance.h"
#include "base/location.h"
@@ -149,7 +151,7 @@
HeapProfilerStartFunction heap_profiler_start_function,
HeapProfilerStopFunction heap_profiler_stop_function,
GetHeapProfileFunction get_heap_profile_function)
- : task_runner_(task_runner.Pass()),
+ : task_runner_(std::move(task_runner)),
heap_profiler_start_function_(heap_profiler_start_function),
heap_profiler_stop_function_(heap_profiler_stop_function),
get_heap_profile_function_(get_heap_profile_function),
diff --git a/base/trace_event/trace_log.cc b/base/trace_event/trace_log.cc
index 31dda00a..c8b28e38 100644
--- a/base/trace_event/trace_log.cc
+++ b/base/trace_event/trace_log.cc
@@ -6,6 +6,7 @@
#include <algorithm>
#include <cmath>
+#include <utility>
#include "base/base_switches.h"
#include "base/bind.h"
@@ -328,7 +329,7 @@
trace_log_->lock_.AssertAcquired();
if (trace_log_->CheckGeneration(generation_)) {
// Return the chunk to the buffer only if the generation matches.
- trace_log_->logged_events_->ReturnChunk(chunk_index_, chunk_.Pass());
+ trace_log_->logged_events_->ReturnChunk(chunk_index_, std::move(chunk_));
}
// Otherwise this method may be called from the destructor, or TraceLog will
// find the generation mismatch and delete this buffer soon.
@@ -795,7 +796,7 @@
if (thread_shared_chunk_ && thread_shared_chunk_->IsFull()) {
logged_events_->ReturnChunk(thread_shared_chunk_index_,
- thread_shared_chunk_.Pass());
+ std::move(thread_shared_chunk_));
}
if (!thread_shared_chunk_) {
@@ -892,7 +893,7 @@
if (thread_shared_chunk_) {
logged_events_->ReturnChunk(thread_shared_chunk_index_,
- thread_shared_chunk_.Pass());
+ std::move(thread_shared_chunk_));
}
if (thread_message_loops_.size()) {
@@ -989,7 +990,7 @@
return;
}
- ConvertTraceEventsToTraceFormat(previous_logged_events.Pass(),
+ ConvertTraceEventsToTraceFormat(std::move(previous_logged_events),
flush_output_callback,
argument_filter_predicate);
}
@@ -1049,9 +1050,9 @@
if (thread_shared_chunk_) {
// Return the chunk to the main buffer to flush the sampling data.
logged_events_->ReturnChunk(thread_shared_chunk_index_,
- thread_shared_chunk_.Pass());
+ std::move(thread_shared_chunk_));
}
- previous_logged_events = logged_events_->CloneForIteration().Pass();
+ previous_logged_events = logged_events_->CloneForIteration();
if (trace_options() & kInternalEnableArgumentFilter) {
CHECK(!argument_filter_predicate_.is_null());
@@ -1059,7 +1060,7 @@
}
} // release lock
- ConvertTraceEventsToTraceFormat(previous_logged_events.Pass(),
+ ConvertTraceEventsToTraceFormat(std::move(previous_logged_events),
flush_output_callback,
argument_filter_predicate);
}
@@ -1388,7 +1389,7 @@
trace_event_internal::kNoId, // bind_id
num_args, arg_names, arg_types, arg_values, convertable_values, flags);
AutoLock lock(lock_);
- metadata_events_.push_back(trace_event.Pass());
+ metadata_events_.push_back(std::move(trace_event));
}
// May be called when a COMPELETE event ends and the unfinished event has been
diff --git a/base/values.cc b/base/values.cc
index 9b2483e..ab3c38a 100644
--- a/base/values.cc
+++ b/base/values.cc
@@ -9,6 +9,7 @@
#include <algorithm>
#include <cmath>
#include <ostream>
+#include <utility>
#include "base/json/json_writer.h"
#include "base/logging.h"
@@ -32,7 +33,7 @@
if (child_copy) {
if (!copy)
copy.reset(new ListValue);
- copy->Append(child_copy.Pass());
+ copy->Append(std::move(child_copy));
}
}
return copy;
@@ -46,7 +47,7 @@
if (child_copy) {
if (!copy)
copy.reset(new DictionaryValue);
- copy->SetWithoutPathExpansion(it.key(), child_copy.Pass());
+ copy->SetWithoutPathExpansion(it.key(), std::move(child_copy));
}
}
return copy;
@@ -313,10 +314,7 @@
}
BinaryValue::BinaryValue(scoped_ptr<char[]> buffer, size_t size)
- : Value(TYPE_BINARY),
- buffer_(buffer.Pass()),
- size_(size) {
-}
+ : Value(TYPE_BINARY), buffer_(std::move(buffer)), size_(size) {}
BinaryValue::~BinaryValue() {
}
@@ -327,7 +325,7 @@
char* buffer_copy = new char[size];
memcpy(buffer_copy, buffer, size);
scoped_ptr<char[]> scoped_buffer_copy(buffer_copy);
- return new BinaryValue(scoped_buffer_copy.Pass(), size);
+ return new BinaryValue(std::move(scoped_buffer_copy), size);
}
bool BinaryValue::GetAsBinary(const BinaryValue** out_value) const {
@@ -419,7 +417,8 @@
current_path.erase(0, delimiter_position + 1);
}
- current_dictionary->SetWithoutPathExpansion(current_path, in_value.Pass());
+ current_dictionary->SetWithoutPathExpansion(current_path,
+ std::move(in_value));
}
void DictionaryValue::Set(const std::string& path, Value* in_value) {
diff --git a/base/values_unittest.cc b/base/values_unittest.cc
index 37ed7ce..a5bd002 100644
--- a/base/values_unittest.cc
+++ b/base/values_unittest.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include <limits>
+#include <utility>
#include "base/memory/scoped_ptr.h"
#include "base/strings/string16.h"
@@ -34,13 +35,13 @@
settings.GetList("global.toolbar.bookmarks", &toolbar_bookmarks));
scoped_ptr<ListValue> new_toolbar_bookmarks(new ListValue);
- settings.Set("global.toolbar.bookmarks", new_toolbar_bookmarks.Pass());
+ settings.Set("global.toolbar.bookmarks", std::move(new_toolbar_bookmarks));
ASSERT_TRUE(settings.GetList("global.toolbar.bookmarks", &toolbar_bookmarks));
scoped_ptr<DictionaryValue> new_bookmark(new DictionaryValue);
new_bookmark->SetString("name", "Froogle");
new_bookmark->SetString("url", "http://froogle.com");
- toolbar_bookmarks->Append(new_bookmark.Pass());
+ toolbar_bookmarks->Append(std::move(new_bookmark));
ListValue* bookmark_list;
ASSERT_TRUE(settings.GetList("global.toolbar.bookmarks", &bookmark_list));
@@ -114,7 +115,7 @@
// Test the common case of a non-empty buffer
scoped_ptr<char[]> buffer(new char[15]);
char* original_buffer = buffer.get();
- binary.reset(new BinaryValue(buffer.Pass(), 15));
+ binary.reset(new BinaryValue(std::move(buffer), 15));
ASSERT_TRUE(binary.get());
ASSERT_TRUE(binary->GetBuffer());
ASSERT_EQ(original_buffer, binary->GetBuffer());
@@ -250,7 +251,7 @@
ListValue list;
scoped_ptr<DeletionTestValue> value(new DeletionTestValue(&deletion_flag));
DeletionTestValue* original_value = value.get();
- list.Append(value.Pass());
+ list.Append(std::move(value));
EXPECT_FALSE(deletion_flag);
size_t index = 0;
list.Remove(*original_value, &index);
@@ -393,45 +394,45 @@
DictionaryValue original_dict;
scoped_ptr<Value> scoped_null = Value::CreateNullValue();
Value* original_null = scoped_null.get();
- original_dict.Set("null", scoped_null.Pass());
+ original_dict.Set("null", std::move(scoped_null));
scoped_ptr<FundamentalValue> scoped_bool(new FundamentalValue(true));
FundamentalValue* original_bool = scoped_bool.get();
- original_dict.Set("bool", scoped_bool.Pass());
+ original_dict.Set("bool", std::move(scoped_bool));
scoped_ptr<FundamentalValue> scoped_int(new FundamentalValue(42));
FundamentalValue* original_int = scoped_int.get();
- original_dict.Set("int", scoped_int.Pass());
+ original_dict.Set("int", std::move(scoped_int));
scoped_ptr<FundamentalValue> scoped_double(new FundamentalValue(3.14));
FundamentalValue* original_double = scoped_double.get();
- original_dict.Set("double", scoped_double.Pass());
+ original_dict.Set("double", std::move(scoped_double));
scoped_ptr<StringValue> scoped_string(new StringValue("hello"));
StringValue* original_string = scoped_string.get();
- original_dict.Set("string", scoped_string.Pass());
+ original_dict.Set("string", std::move(scoped_string));
scoped_ptr<StringValue> scoped_string16(
new StringValue(ASCIIToUTF16("hello16")));
StringValue* original_string16 = scoped_string16.get();
- original_dict.Set("string16", scoped_string16.Pass());
+ original_dict.Set("string16", std::move(scoped_string16));
scoped_ptr<char[]> original_buffer(new char[42]);
memset(original_buffer.get(), '!', 42);
scoped_ptr<BinaryValue> scoped_binary(
- new BinaryValue(original_buffer.Pass(), 42));
+ new BinaryValue(std::move(original_buffer), 42));
BinaryValue* original_binary = scoped_binary.get();
- original_dict.Set("binary", scoped_binary.Pass());
+ original_dict.Set("binary", std::move(scoped_binary));
scoped_ptr<ListValue> scoped_list(new ListValue());
Value* original_list = scoped_list.get();
scoped_ptr<FundamentalValue> scoped_list_element_0(new FundamentalValue(0));
Value* original_list_element_0 = scoped_list_element_0.get();
- scoped_list->Append(scoped_list_element_0.Pass());
+ scoped_list->Append(std::move(scoped_list_element_0));
scoped_ptr<FundamentalValue> scoped_list_element_1(new FundamentalValue(1));
Value* original_list_element_1 = scoped_list_element_1.get();
- scoped_list->Append(scoped_list_element_1.Pass());
- original_dict.Set("list", scoped_list.Pass());
+ scoped_list->Append(std::move(scoped_list_element_1));
+ original_dict.Set("list", std::move(scoped_list));
scoped_ptr<DictionaryValue> scoped_nested_dictionary(new DictionaryValue());
Value* original_nested_dictionary = scoped_nested_dictionary.get();
scoped_nested_dictionary->SetString("key", "value");
- original_dict.Set("dictionary", scoped_nested_dictionary.Pass());
+ original_dict.Set("dictionary", std::move(scoped_nested_dictionary));
scoped_ptr<DictionaryValue> copy_dict = original_dict.CreateDeepCopy();
ASSERT_TRUE(copy_dict.get());
@@ -568,9 +569,9 @@
list->Append(make_scoped_ptr(new DictionaryValue));
scoped_ptr<Value> list_copy(list->CreateDeepCopy());
- dv.Set("f", list.Pass());
+ dv.Set("f", std::move(list));
EXPECT_FALSE(dv.Equals(copy.get()));
- copy->Set("f", list_copy.Pass());
+ copy->Set("f", std::move(list_copy));
EXPECT_TRUE(dv.Equals(copy.get()));
original_list->Append(make_scoped_ptr(new FundamentalValue(true)));
@@ -611,38 +612,38 @@
DictionaryValue original_dict;
scoped_ptr<Value> scoped_null(Value::CreateNullValue());
Value* original_null = scoped_null.get();
- original_dict.Set("null", scoped_null.Pass());
+ original_dict.Set("null", std::move(scoped_null));
scoped_ptr<FundamentalValue> scoped_bool(new FundamentalValue(true));
Value* original_bool = scoped_bool.get();
- original_dict.Set("bool", scoped_bool.Pass());
+ original_dict.Set("bool", std::move(scoped_bool));
scoped_ptr<FundamentalValue> scoped_int(new FundamentalValue(42));
Value* original_int = scoped_int.get();
- original_dict.Set("int", scoped_int.Pass());
+ original_dict.Set("int", std::move(scoped_int));
scoped_ptr<FundamentalValue> scoped_double(new FundamentalValue(3.14));
Value* original_double = scoped_double.get();
- original_dict.Set("double", scoped_double.Pass());
+ original_dict.Set("double", std::move(scoped_double));
scoped_ptr<StringValue> scoped_string(new StringValue("hello"));
Value* original_string = scoped_string.get();
- original_dict.Set("string", scoped_string.Pass());
+ original_dict.Set("string", std::move(scoped_string));
scoped_ptr<StringValue> scoped_string16(
new StringValue(ASCIIToUTF16("hello16")));
Value* original_string16 = scoped_string16.get();
- original_dict.Set("string16", scoped_string16.Pass());
+ original_dict.Set("string16", std::move(scoped_string16));
scoped_ptr<char[]> original_buffer(new char[42]);
memset(original_buffer.get(), '!', 42);
scoped_ptr<BinaryValue> scoped_binary(
- new BinaryValue(original_buffer.Pass(), 42));
+ new BinaryValue(std::move(original_buffer), 42));
Value* original_binary = scoped_binary.get();
- original_dict.Set("binary", scoped_binary.Pass());
+ original_dict.Set("binary", std::move(scoped_binary));
scoped_ptr<ListValue> scoped_list(new ListValue());
Value* original_list = scoped_list.get();
scoped_ptr<FundamentalValue> scoped_list_element_0(new FundamentalValue(0));
- scoped_list->Append(scoped_list_element_0.Pass());
+ scoped_list->Append(std::move(scoped_list_element_0));
scoped_ptr<FundamentalValue> scoped_list_element_1(new FundamentalValue(1));
- scoped_list->Append(scoped_list_element_1.Pass());
- original_dict.Set("list", scoped_list.Pass());
+ scoped_list->Append(std::move(scoped_list_element_1));
+ original_dict.Set("list", std::move(scoped_list));
scoped_ptr<Value> copy_dict = original_dict.CreateDeepCopy();
scoped_ptr<Value> copy_null = original_null->CreateDeepCopy();
@@ -697,7 +698,7 @@
scoped_ptr<DictionaryValue> inner(new DictionaryValue);
inner->Set("empty_dict", make_scoped_ptr(new DictionaryValue));
inner->Set("empty_list", make_scoped_ptr(new ListValue));
- root->Set("dict_with_empty_children", inner.Pass());
+ root->Set("dict_with_empty_children", std::move(inner));
root = root->DeepCopyWithoutEmptyChildren();
EXPECT_EQ(2U, root->size());
}
@@ -705,7 +706,7 @@
scoped_ptr<ListValue> inner(new ListValue);
inner->Append(make_scoped_ptr(new DictionaryValue));
inner->Append(make_scoped_ptr(new ListValue));
- root->Set("list_with_empty_children", inner.Pass());
+ root->Set("list_with_empty_children", std::move(inner));
root = root->DeepCopyWithoutEmptyChildren();
EXPECT_EQ(2U, root->size());
}
@@ -715,11 +716,11 @@
scoped_ptr<ListValue> inner(new ListValue());
inner->Append(make_scoped_ptr(new DictionaryValue));
inner->Append(make_scoped_ptr(new ListValue));
- root->Set("list_with_empty_children", inner.Pass());
+ root->Set("list_with_empty_children", std::move(inner));
scoped_ptr<DictionaryValue> inner2(new DictionaryValue);
inner2->Set("empty_dict", make_scoped_ptr(new DictionaryValue));
inner2->Set("empty_list", make_scoped_ptr(new ListValue));
- root->Set("dict_with_empty_children", inner2.Pass());
+ root->Set("dict_with_empty_children", std::move(inner2));
root = root->DeepCopyWithoutEmptyChildren();
EXPECT_EQ(2U, root->size());
}
@@ -730,8 +731,8 @@
scoped_ptr<ListValue> inner2(new ListValue);
inner2->Append(make_scoped_ptr(new StringValue("hello")));
inner->Append(make_scoped_ptr(new DictionaryValue));
- inner->Append(inner2.Pass());
- root->Set("list_with_empty_children", inner.Pass());
+ inner->Append(std::move(inner2));
+ root->Set("list_with_empty_children", std::move(inner));
root = root->DeepCopyWithoutEmptyChildren();
EXPECT_EQ(3U, root->size());
@@ -750,7 +751,7 @@
scoped_ptr<DictionaryValue> base_sub_dict(new DictionaryValue);
base_sub_dict->SetString("sub_base_key", "sub_base_key_value_base");
base_sub_dict->SetString("sub_collide_key", "sub_collide_key_value_base");
- base->Set("sub_dict_key", base_sub_dict.Pass());
+ base->Set("sub_dict_key", std::move(base_sub_dict));
scoped_ptr<DictionaryValue> merge(new DictionaryValue);
merge->SetString("merge_key", "merge_key_value_merge");
@@ -758,7 +759,7 @@
scoped_ptr<DictionaryValue> merge_sub_dict(new DictionaryValue);
merge_sub_dict->SetString("sub_merge_key", "sub_merge_key_value_merge");
merge_sub_dict->SetString("sub_collide_key", "sub_collide_key_value_merge");
- merge->Set("sub_dict_key", merge_sub_dict.Pass());
+ merge->Set("sub_dict_key", std::move(merge_sub_dict));
base->MergeDictionary(merge.get());
@@ -799,7 +800,7 @@
EXPECT_EQ("value", value);
scoped_ptr<DictionaryValue> base(new DictionaryValue);
- base->Set("dict", child.Pass());
+ base->Set("dict", std::move(child));
EXPECT_EQ(1U, base->size());
DictionaryValue* ptr;