diff options
author | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 00:38:58 +0000 |
---|---|---|
committer | derat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-19 00:38:58 +0000 |
commit | 3ebea920942e11fb0c81c83718699ab4e6a6a370 (patch) | |
tree | bb65049c51fd35a354ab4505802822cb884e3ff5 /ui | |
parent | e19d265c10c73b01717054f2bc7da1797d937bfd (diff) | |
download | chromium_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.h | 2 | ||||
-rw-r--r-- | ui/base/models/tree_node_model.h | 2 | ||||
-rw-r--r-- | ui/gfx/render_text_win.cc | 2 | ||||
-rw-r--r-- | ui/views/controls/native_control_win.cc | 4 | ||||
-rw-r--r-- | ui/views/widget/native_widget_win.cc | 2 |
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; |