summaryrefslogtreecommitdiffstats
path: root/views/widget/native_widget_view.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 15:22:57 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-07 15:22:57 +0000
commita38a0a152f55d53034b40c608e6cc175d2ffa6d1 (patch)
treec1362f2809107d6724d91dbbcf88dcf483d5a5da /views/widget/native_widget_view.cc
parent688fde2df85bc412d66c3ea4d25734c7c797da62 (diff)
downloadchromium_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.cc7
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() {