diff options
23 files changed, 47 insertions, 48 deletions
diff --git a/ash/drag_drop/drag_image_view.cc b/ash/drag_drop/drag_image_view.cc index 29619605..366e036 100644 --- a/ash/drag_drop/drag_image_view.cc +++ b/ash/drag_drop/drag_image_view.cc @@ -32,7 +32,7 @@ DragImageView::DragImageView() : views::ImageView() { widget_->SetAlwaysOnTop(true); // We are owned by the DragDropController. - set_parent_owned(false); + set_owned_by_client(); } DragImageView::~DragImageView() { diff --git a/ash/tooltips/tooltip_controller.cc b/ash/tooltips/tooltip_controller.cc index c1aaa0f..cd1edca 100644 --- a/ash/tooltips/tooltip_controller.cc +++ b/ash/tooltips/tooltip_controller.cc @@ -99,7 +99,7 @@ class TooltipController::Tooltip { views::Border::CreateSolidBorder(kTooltipBorderWidth, kTooltipBorder)); } - label_.set_parent_owned(false); + label_.set_owned_by_client(); widget_.reset(CreateTooltip()); widget_->SetContentsView(&label_); widget_->Activate(); diff --git a/chrome/browser/chromeos/input_method/candidate_window.cc b/chrome/browser/chromeos/input_method/candidate_window.cc index e8085b8..baf433b 100644 --- a/chrome/browser/chromeos/input_method/candidate_window.cc +++ b/chrome/browser/chromeos/input_method/candidate_window.cc @@ -340,7 +340,7 @@ class HidableArea : public views::View { // In other words, the HidableArea only contains one of the two views // hence cannot own the two views at the same time. place_holder_.reset(new views::View); - place_holder_->set_parent_owned(false); // Won't own + place_holder_->set_owned_by_client(); // Won't own // Initially show nothing. SetLayoutManager(new views::FillLayout); @@ -350,7 +350,7 @@ class HidableArea : public views::View { // Sets the content view. void SetContents(views::View* contents) { contents_.reset(contents); - contents_->set_parent_owned(false); // Won't own + contents_->set_owned_by_client(); // Won't own } // Shows the content. diff --git a/chrome/browser/chromeos/login/view_screen.h b/chrome/browser/chromeos/login/view_screen.h index 1beaf68..a1ed4ba 100644 --- a/chrome/browser/chromeos/login/view_screen.h +++ b/chrome/browser/chromeos/login/view_screen.h @@ -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. @@ -156,7 +156,7 @@ void ViewScreen<V>::Hide() { template <class V> void ViewScreen<V>::CreateView() { view_ = AllocateView(); - view_->set_parent_owned(false); // ViewScreen owns the view. + view_->set_owned_by_client(); // ViewScreen owns the view. delegate()->GetWizardView()->AddChildView(view_); view_->Init(); view_->SetVisible(false); diff --git a/chrome/browser/extensions/extension_host.cc b/chrome/browser/extensions/extension_host.cc index 055cf4a..d7507ec 100644 --- a/chrome/browser/extensions/extension_host.cc +++ b/chrome/browser/extensions/extension_host.cc @@ -171,7 +171,7 @@ void ExtensionHost::CreateView(Browser* browser) { view_.reset(new ExtensionView(this, browser)); // We own |view_|, so don't auto delete when it's removed from the view // hierarchy. - view_->set_parent_owned(false); + view_->set_owned_by_client(); #elif defined(OS_MACOSX) view_.reset(new ExtensionViewMac(this, browser)); view_->Init(); diff --git a/chrome/browser/ui/views/about_chrome_view.cc b/chrome/browser/ui/views/about_chrome_view.cc index c8bd148..eff8751 100644 --- a/chrome/browser/ui/views/about_chrome_view.cc +++ b/chrome/browser/ui/views/about_chrome_view.cc @@ -143,23 +143,23 @@ void AboutChromeView::Init() { // Views we will add to the *parent* of this dialog, since it will display // next to the buttons which we don't draw ourselves. throbber_.reset(new views::Throbber(50, true)); - throbber_->set_parent_owned(false); + throbber_->set_owned_by_client(); throbber_->SetVisible(false); SkBitmap* success_image = rb.GetBitmapNamed(IDR_UPDATE_UPTODATE); success_indicator_.SetImage(*success_image); - success_indicator_.set_parent_owned(false); + success_indicator_.set_owned_by_client(); SkBitmap* update_available_image = rb.GetBitmapNamed(IDR_UPDATE_AVAILABLE); update_available_indicator_.SetImage(*update_available_image); - update_available_indicator_.set_parent_owned(false); + update_available_indicator_.set_owned_by_client(); SkBitmap* timeout_image = rb.GetBitmapNamed(IDR_UPDATE_FAIL); timeout_indicator_.SetImage(*timeout_image); - timeout_indicator_.set_parent_owned(false); + timeout_indicator_.set_owned_by_client(); update_label_.SetVisible(false); - update_label_.set_parent_owned(false); + update_label_.set_owned_by_client(); // Regular view controls we draw by ourself. First, we add the background // image for the dialog. We have two different background bitmaps, one for diff --git a/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc b/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc index 4ff9987..ce6033b2 100644 --- a/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc +++ b/chrome/browser/ui/views/autocomplete/autocomplete_popup_contents_view.cc @@ -98,7 +98,7 @@ AutocompletePopupContentsView::AutocompletePopupContentsView( bubble_border_ = bubble_border; set_border(bubble_border); // The contents is owned by the LocationBarView. - set_parent_owned(false); + set_owned_by_client(); for (size_t i = 0; i < AutocompleteResult::kMaxMatches; ++i) { AutocompleteResultView* result_view = diff --git a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc b/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc index df52555..6e891323 100644 --- a/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc +++ b/chrome/browser/ui/views/autocomplete/autocomplete_result_view.cc @@ -118,7 +118,7 @@ AutocompleteResultView::AutocompleteResultView( AutocompleteMatch::TypeToIcon(AutocompleteMatch::URL_WHAT_YOU_TYPED))-> width(); } - keyword_icon_->set_parent_owned(false); + keyword_icon_->set_owned_by_client(); keyword_icon_->EnableCanvasFlippingForRTLUI(true); keyword_icon_->SetImage(GetKeywordIcon()); keyword_icon_->SizeToPreferredSize(); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc index be13455b..79aea16 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc @@ -180,7 +180,7 @@ class BookmarkBarViewEventTestBase : public ViewEventTestBase { model_->ClearStore(); bb_view_.reset(new BookmarkBarView(browser_.get())); - bb_view_->set_parent_owned(false); + bb_view_->set_owned_by_client(); bb_view_->SetPageNavigator(&navigator_); AddTestData(CreateBigMenu()); diff --git a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc index 772a3c8..1701ee3 100644 --- a/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc +++ b/chrome/browser/ui/views/bookmarks/bookmark_editor_view.cc @@ -319,7 +319,7 @@ void BookmarkEditorView::Init() { new_folder_button_.reset(new views::NativeTextButton(this, l10n_util::GetStringUTF16(IDS_BOOKMARK_EDITOR_NEW_FOLDER_BUTTON))); - new_folder_button_->set_parent_owned(false); + new_folder_button_->set_owned_by_client(); new_folder_button_->SetEnabled(false); } diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc index 4148c99..bf536cb 100644 --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc @@ -1092,7 +1092,7 @@ bool BrowserView::IsDownloadShelfVisible() const { DownloadShelf* BrowserView::GetDownloadShelf() { if (!download_shelf_.get()) { download_shelf_.reset(new DownloadShelfView(browser_.get(), this)); - download_shelf_->set_parent_owned(false); + download_shelf_->set_owned_by_client(); } return download_shelf_.get(); } @@ -1896,7 +1896,7 @@ bool BrowserView::MaybeShowBookmarkBar(TabContentsWrapper* contents) { contents) { if (!bookmark_bar_view_.get()) { bookmark_bar_view_.reset(new BookmarkBarView(browser_.get())); - bookmark_bar_view_->set_parent_owned(false); + bookmark_bar_view_->set_owned_by_client(); bookmark_bar_view_->set_background( new BookmarkExtensionBackground(this, bookmark_bar_view_.get(), browser_.get())); diff --git a/chrome/browser/ui/views/importer/import_progress_dialog_view.cc b/chrome/browser/ui/views/importer/import_progress_dialog_view.cc index 9ed96da..96623d7 100644 --- a/chrome/browser/ui/views/importer/import_progress_dialog_view.cc +++ b/chrome/browser/ui/views/importer/import_progress_dialog_view.cc @@ -58,16 +58,16 @@ ImportProgressDialogView::ImportProgressDialogView( importer_host_->SetObserver(this); // These are scoped pointers, so we don't need the parent to delete them. - state_bookmarks_->set_parent_owned(false); - state_searches_->set_parent_owned(false); - state_passwords_->set_parent_owned(false); - state_history_->set_parent_owned(false); - state_cookies_->set_parent_owned(false); - label_bookmarks_->set_parent_owned(false); - label_searches_->set_parent_owned(false); - label_passwords_->set_parent_owned(false); - label_history_->set_parent_owned(false); - label_cookies_->set_parent_owned(false); + state_bookmarks_->set_owned_by_client(); + state_searches_->set_owned_by_client(); + state_passwords_->set_owned_by_client(); + state_history_->set_owned_by_client(); + state_cookies_->set_owned_by_client(); + label_bookmarks_->set_owned_by_client(); + label_searches_->set_owned_by_client(); + label_passwords_->set_owned_by_client(); + label_history_->set_owned_by_client(); + label_cookies_->set_owned_by_client(); } ImportProgressDialogView::~ImportProgressDialogView() { diff --git a/chrome/browser/ui/views/infobars/infobar_view.cc b/chrome/browser/ui/views/infobars/infobar_view.cc index 4acf2f2..c22de3b 100644 --- a/chrome/browser/ui/views/infobars/infobar_view.cc +++ b/chrome/browser/ui/views/infobars/infobar_view.cc @@ -60,7 +60,7 @@ InfoBarView::InfoBarView(InfoBarTabHelper* owner, InfoBarDelegate* delegate) : InfoBar(owner, delegate), icon_(NULL), close_button_(NULL) { - set_parent_owned(false); // InfoBar deletes itself at the appropriate time. + set_owned_by_client(); // InfoBar deletes itself at the appropriate time. set_background(new InfoBarBackground(delegate->GetInfoBarType())); } diff --git a/chrome/browser/ui/views/notifications/balloon_view.cc b/chrome/browser/ui/views/notifications/balloon_view.cc index 42bfa9f..1b3e838 100644 --- a/chrome/browser/ui/views/notifications/balloon_view.cc +++ b/chrome/browser/ui/views/notifications/balloon_view.cc @@ -112,7 +112,7 @@ BalloonViewImpl::BalloonViewImpl(BalloonCollection* collection) enable_web_ui_(false) { // This object is not to be deleted by the views hierarchy, // as it is owned by the balloon. - set_parent_owned(false); + set_owned_by_client(); views::BubbleBorder* bubble_border = new views::BubbleBorder(views::BubbleBorder::FLOAT, diff --git a/chrome/browser/ui/views/tabs/dragged_tab_view.cc b/chrome/browser/ui/views/tabs/dragged_tab_view.cc index 895bbaa..45b90dc 100644 --- a/chrome/browser/ui/views/tabs/dragged_tab_view.cc +++ b/chrome/browser/ui/views/tabs/dragged_tab_view.cc @@ -37,7 +37,7 @@ DraggedTabView::DraggedTabView(const std::vector<views::View*>& renderers, mouse_tab_offset_(mouse_tab_offset), photobooth_(photobooth), contents_size_(contents_size) { - set_parent_owned(false); + set_owned_by_client(); container_.reset(new views::Widget); views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); diff --git a/ui/oak/oak_window.cc b/ui/oak/oak_window.cc index 81c4c2f0..6777b7e 100644 --- a/ui/oak/oak_window.cc +++ b/ui/oak/oak_window.cc @@ -120,7 +120,7 @@ void OakWindow::Init() { tree_model_.reset( GenerateModel(GetWidget()->GetNativeView()->GetRootWindow())); tree_.reset(new views::TreeView); - tree_->set_parent_owned(false); + tree_->set_owned_by_client(); tree_->SetController(this); tree_->SetModel(tree_model_.get()); tree_container_ = tree_->CreateParentIfNecessary(); @@ -135,7 +135,7 @@ void OakWindow::Init() { true, false, false)); - details_->set_parent_owned(false); + details_->set_owned_by_client(); details_container_ = details_->CreateParentIfNecessary(); details_->SetModel(details_model_.get()); AddChildView(details_container_); diff --git a/ui/views/controls/menu/submenu_view.cc b/ui/views/controls/menu/submenu_view.cc index 5b33f84..0f3002c 100644 --- a/ui/views/controls/menu/submenu_view.cc +++ b/ui/views/controls/menu/submenu_view.cc @@ -44,7 +44,7 @@ SubmenuView::SubmenuView(MenuItemView* parent) scroll_animator_(new ScrollAnimator(this))) { DCHECK(parent); // We'll delete ourselves, otherwise the ScrollView would delete us on close. - set_parent_owned(false); + set_owned_by_client(); } SubmenuView::~SubmenuView() { @@ -354,7 +354,7 @@ MenuScrollViewContainer* SubmenuView::GetScrollViewContainer() { if (!scroll_view_container_) { scroll_view_container_ = new MenuScrollViewContainer(this); // Otherwise MenuHost would delete us. - scroll_view_container_->set_parent_owned(false); + scroll_view_container_->set_owned_by_client(); } return scroll_view_container_; } diff --git a/ui/views/controls/tabbed_pane/native_tabbed_pane_views.cc b/ui/views/controls/tabbed_pane/native_tabbed_pane_views.cc index 08c9242..1d2bf91 100644 --- a/ui/views/controls/tabbed_pane/native_tabbed_pane_views.cc +++ b/ui/views/controls/tabbed_pane/native_tabbed_pane_views.cc @@ -300,7 +300,7 @@ void NativeTabbedPaneViews::AddTabAtIndex(int index, View* contents, bool select_if_first_tab) { DCHECK(index <= static_cast<int>(tab_strip_->child_count())); - contents->set_parent_owned(false); + contents->set_owned_by_client(); contents->SetVisible(false); tab_strip_->AddChildViewAt(new Tab(tab_strip_, title, contents), index); diff --git a/ui/views/controls/tabbed_pane/native_tabbed_pane_win.cc b/ui/views/controls/tabbed_pane/native_tabbed_pane_win.cc index c5ce487..f6924ef3 100644 --- a/ui/views/controls/tabbed_pane/native_tabbed_pane_win.cc +++ b/ui/views/controls/tabbed_pane/native_tabbed_pane_win.cc @@ -139,7 +139,7 @@ void NativeTabbedPaneWin::AddTabAtIndex(int index, View* contents, bool select_if_first_tab) { DCHECK(index <= static_cast<int>(tab_views_.size())); - contents->set_parent_owned(false); + contents->set_owned_by_client(); contents->SetVisible(false); tab_views_.insert(tab_views_.begin() + index, contents); tab_titles_.insert(tab_titles_.begin() + index, title); diff --git a/ui/views/touchui/touch_selection_controller_impl.cc b/ui/views/touchui/touch_selection_controller_impl.cc index b4f0508..93fb4bc 100644 --- a/ui/views/touchui/touch_selection_controller_impl.cc +++ b/ui/views/touchui/touch_selection_controller_impl.cc @@ -96,7 +96,7 @@ class TouchSelectionControllerImpl::SelectionHandleView : public View { widget_->SetAlwaysOnTop(true); // We are owned by the TouchSelectionController. - set_parent_owned(false); + set_owned_by_client(); } virtual ~SelectionHandleView() { @@ -207,7 +207,7 @@ class TouchSelectionControllerImpl::TouchContextMenuView widget_->SetAlwaysOnTop(true); // We are owned by the TouchSelectionController. - set_parent_owned(false); + set_owned_by_client(); SetLayoutManager(new BoxLayout(BoxLayout::kHorizontal, kContextMenuPadding, kContextMenuPadding, kContextMenuPadding)); } diff --git a/ui/views/view.cc b/ui/views/view.cc index c8147b1..35b5922 100644 --- a/ui/views/view.cc +++ b/ui/views/view.cc @@ -96,7 +96,7 @@ const char View::kViewClassName[] = "views/View"; // Creation and lifetime ------------------------------------------------------- View::View() - : parent_owned_(true), + : owned_by_client_(false), id_(0), group_(-1), parent_(NULL), @@ -126,7 +126,7 @@ View::~View() { for (Views::const_iterator i(children_.begin()); i != children_.end(); ++i) { (*i)->parent_ = NULL; - if ((*i)->parent_owned()) + if (!(*i)->owned_by_client_) delete *i; } @@ -1538,7 +1538,7 @@ void View::DoRemoveChildView(View* view, view->parent_ = NULL; view->UpdateLayerVisibility(); - if (delete_removed_view && view->parent_owned()) + if (delete_removed_view && !view->owned_by_client_) view_to_be_deleted.reset(view); children_.erase(i); diff --git a/ui/views/view.h b/ui/views/view.h index 3e933c4..fc4a27f 100644 --- a/ui/views/view.h +++ b/ui/views/view.h @@ -106,8 +106,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, virtual ~View(); // By default a View is owned by its parent unless specified otherwise here. - bool parent_owned() const { return parent_owned_; } - void set_parent_owned(bool parent_owned) { parent_owned_ = parent_owned; } + void set_owned_by_client() { owned_by_client_ = true; } // Tree operations ----------------------------------------------------------- @@ -1321,9 +1320,9 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, // Creation and lifetime ----------------------------------------------------- - // True if the hierarchy (i.e. the parent View) is responsible for deleting - // this View. Default is true. - bool parent_owned_; + // False if this View is owned by its parent - i.e. it will be deleted by its + // parent during its parents destruction. False is the default. + bool owned_by_client_; // Attributes ---------------------------------------------------------------- diff --git a/ui/views/window/non_client_view.cc b/ui/views/window/non_client_view.cc index ec55e1b..68a8040 100644 --- a/ui/views/window/non_client_view.cc +++ b/ui/views/window/non_client_view.cc @@ -43,7 +43,7 @@ NonClientView::~NonClientView() { void NonClientView::SetFrameView(NonClientFrameView* frame_view) { // See comment in header about ownership. - frame_view->set_parent_owned(false); + frame_view->set_owned_by_client(); if (frame_view_.get()) RemoveChildView(frame_view_.get()); frame_view_.reset(frame_view); |