summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-19 00:38:58 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-19 00:38:58 +0000
commit3ebea920942e11fb0c81c83718699ab4e6a6a370 (patch)
treebb65049c51fd35a354ab4505802822cb884e3ff5 /ui
parente19d265c10c73b01717054f2bc7da1797d937bfd (diff)
downloadchromium_src-3ebea920942e11fb0c81c83718699ab4e6a6a370.zip
chromium_src-3ebea920942e11fb0c81c83718699ab4e6a6a370.tar.gz
chromium_src-3ebea920942e11fb0c81c83718699ab4e6a6a370.tar.bz2
base: Make ScopedVector::clear() destroy elements.
This makes ScopedVector's clear() method destroy the elements before clearing the internal vector, matching the behavior of the erase() method. I'm moving clear()'s previous element-preserving behavior into a new weak_clear() method, matching weak_erase(). I'm also removing ScopedVector::reset(), as it duplicated clear()'s new behavior and isn't a part of std::vector. BUG=137909 TEST=added Review URL: https://chromiumcodereview.appspot.com/10797017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147360 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/base/models/list_model.h2
-rw-r--r--ui/base/models/tree_node_model.h2
-rw-r--r--ui/gfx/render_text_win.cc2
-rw-r--r--ui/views/controls/native_control_win.cc4
-rw-r--r--ui/views/widget/native_widget_win.cc2
5 files changed, 6 insertions, 6 deletions
diff --git a/ui/base/models/list_model.h b/ui/base/models/list_model.h
index 95883fc..dbbd689 100644
--- a/ui/base/models/list_model.h
+++ b/ui/base/models/list_model.h
@@ -47,7 +47,7 @@ class ListModel {
// Removes all items from the model. This does NOT delete the items.
void RemoveAll() {
size_t count = item_count();
- items_.clear();
+ items_.weak_clear();
NotifyItemsRemoved(0, count);
}
diff --git a/ui/base/models/tree_node_model.h b/ui/base/models/tree_node_model.h
index 0570691..5bfe46e 100644
--- a/ui/base/models/tree_node_model.h
+++ b/ui/base/models/tree_node_model.h
@@ -98,7 +98,7 @@ class TreeNode : public TreeModelNode {
void RemoveAll() {
for (size_t i = 0; i < children_.size(); ++i)
children_[i]->parent_ = NULL;
- children_.clear();
+ children_.weak_clear();
}
// Returns the parent node, or NULL if this is the root node.
diff --git a/ui/gfx/render_text_win.cc b/ui/gfx/render_text_win.cc
index 3bac2f8..fb5a96d 100644
--- a/ui/gfx/render_text_win.cc
+++ b/ui/gfx/render_text_win.cc
@@ -593,7 +593,7 @@ void RenderTextWin::DrawVisualText(Canvas* canvas) {
}
void RenderTextWin::ItemizeLogicalText() {
- runs_.reset();
+ runs_.clear();
string_size_ = Size(0, GetFont().GetHeight());
common_baseline_ = 0;
diff --git a/ui/views/controls/native_control_win.cc b/ui/views/controls/native_control_win.cc
index 25278411..a1c600b 100644
--- a/ui/views/controls/native_control_win.cc
+++ b/ui/views/controls/native_control_win.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -215,7 +215,7 @@ LRESULT NativeControlWin::NativeControlWndProc(HWND window,
NOTREACHED();
}
} else if (message == WM_DESTROY) {
- native_control->props_.reset();
+ native_control->props_.clear();
ui::SetWindowProc(window, native_control->original_wndproc_);
}
diff --git a/ui/views/widget/native_widget_win.cc b/ui/views/widget/native_widget_win.cc
index 5af20c6..fa64458 100644
--- a/ui/views/widget/native_widget_win.cc
+++ b/ui/views/widget/native_widget_win.cc
@@ -2225,7 +2225,7 @@ void NativeWidgetWin::OnWindowPosChanged(WINDOWPOS* window_pos) {
void NativeWidgetWin::OnFinalMessage(HWND window) {
// We don't destroy props in WM_DESTROY as we may still get messages after
// WM_DESTROY that assume the properties are still valid (such as WM_CLOSE).
- props_.reset();
+ props_.clear();
delegate_->OnNativeWidgetDestroyed();
if (ownership_ == Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET)
delete this;