diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 15:22:57 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-07 15:22:57 +0000 |
commit | a38a0a152f55d53034b40c608e6cc175d2ffa6d1 (patch) | |
tree | c1362f2809107d6724d91dbbcf88dcf483d5a5da /views/widget/native_widget_view.cc | |
parent | 688fde2df85bc412d66c3ea4d25734c7c797da62 (diff) | |
download | chromium_src-a38a0a152f55d53034b40c608e6cc175d2ffa6d1.zip chromium_src-a38a0a152f55d53034b40c608e6cc175d2ffa6d1.tar.gz chromium_src-a38a0a152f55d53034b40c608e6cc175d2ffa6d1.tar.bz2 |
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
Diffstat (limited to 'views/widget/native_widget_view.cc')
-rw-r--r-- | views/widget/native_widget_view.cc | 7 |
1 files changed, 6 insertions, 1 deletions
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() { |