Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Unified Diff: ui/events/test/test_event_target.cc

Issue 2628393003: Remove ScopedVector from ui/events/. (Closed)
Patch Set: chromeos2 Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/test/test_event_target.cc
diff --git a/ui/events/test/test_event_target.cc b/ui/events/test/test_event_target.cc
index eefebed232d3db61cbd599efa0449c7ff15be216..0445d0dcfd36845537f9319ce58fa015f06b7465 100644
--- a/ui/events/test/test_event_target.cc
+++ b/ui/events/test/test_event_target.cc
@@ -25,24 +25,20 @@ TestEventTarget::TestEventTarget()
TestEventTarget::~TestEventTarget() {}
void TestEventTarget::AddChild(std::unique_ptr<TestEventTarget> child) {
- TestEventTarget* child_r = child.get();
- if (child->parent()) {
- AddChild(child->parent()->RemoveChild(child.release()));
- } else {
- children_.push_back(std::move(child));
- }
- child_r->set_parent(this);
+ DCHECK(!child->parent());
+ children_.push_back(std::move(child));
+ children_.back()->set_parent(this);
}
std::unique_ptr<TestEventTarget> TestEventTarget::RemoveChild(
TestEventTarget* c) {
- ScopedVector<TestEventTarget>::iterator iter = std::find(children_.begin(),
- children_.end(),
- c);
- if (iter != children_.end()) {
- children_.weak_erase(iter);
- c->set_parent(NULL);
- return base::WrapUnique(c);
+ for (auto iter = children_.begin(); iter != children_.end(); ++iter) {
+ if (iter->get() == c) {
+ std::unique_ptr<TestEventTarget> child = std::move(*iter);
+ children_.erase(iter);
+ child->set_parent(nullptr);
+ return child;
+ }
}
return nullptr;
}
@@ -72,8 +68,8 @@ EventTarget* TestEventTarget::GetParentTarget() {
}
std::unique_ptr<EventTargetIterator> TestEventTarget::GetChildIterator() const {
- return base::MakeUnique<EventTargetIteratorImpl<TestEventTarget>>(
- children_.get());
+ return base::MakeUnique<EventTargetIteratorUniquePtrImpl<TestEventTarget>>(
+ children_);
}
EventTargeter* TestEventTarget::GetEventTargeter() {

Powered by Google App Engine
This is Rietveld 408576698