From a38a0a152f55d53034b40c608e6cc175d2ffa6d1 Mon Sep 17 00:00:00 2001 From: "ben@chromium.org" Date: Thu, 7 Jul 2011 15:22:57 +0000 Subject: Change the meaning of "Widget::GetTopLevelWidget()" to mean the logical top level Window in the views desktop world. Adds the beginning of a set of tests for this behavior. Also fixes the leaks associated with destruction of NativeWidgetViews, and adds a moderately comprehensive set of tests for Widget ownership. BUG=none TEST=none Review URL: http://codereview.chromium.org/7273084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91706 0039d316-1c4b-4281-b951-d872f2087c98 --- views/widget/native_widget_view.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'views/widget/native_widget_view.cc') diff --git a/views/widget/native_widget_view.cc b/views/widget/native_widget_view.cc index c31a3c4..5e95a9c 100644 --- a/views/widget/native_widget_view.cc +++ b/views/widget/native_widget_view.cc @@ -17,10 +17,15 @@ const char NativeWidgetView::kViewClassName[] = "views/NativeWidgetView"; NativeWidgetView::NativeWidgetView(NativeWidgetViews* native_widget) : native_widget_(native_widget), - sent_create_(false) { + sent_create_(false), + delete_native_widget_(true) { } NativeWidgetView::~NativeWidgetView() { + if (delete_native_widget_) { + native_widget_->set_delete_native_view(false); + delete native_widget_; + } } Widget* NativeWidgetView::GetAssociatedWidget() { -- cgit v1.1