summaryrefslogtreecommitdiffstats
path: root/views/window/non_client_view.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 15:42:46 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-03 15:42:46 +0000
commit9f2ea8764277f52936b65136322a97f1d92a7fa9 (patch)
treeb2fac198048fd0b3d9f5b7a5a63870b967ed8999 /views/window/non_client_view.cc
parent6eecccb5ea44d7a55fac158ae6b6d6dff9b33321 (diff)
downloadchromium_src-9f2ea8764277f52936b65136322a97f1d92a7fa9.zip
chromium_src-9f2ea8764277f52936b65136322a97f1d92a7fa9.tar.gz
chromium_src-9f2ea8764277f52936b65136322a97f1d92a7fa9.tar.bz2
Re-land: Move NonClientView and FrameType logic from Window to Widget.
Also fixes leak of default WidgetDelegate by replacing it with a DefaultWidgetDelegate subclass that overrides DeleteDelegate and deletes itself. This required moving the destruction logic from Window down onto Widget. BUG=72040 TEST=none Review URL: http://codereview.chromium.org/7033049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87784 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/window/non_client_view.cc')
-rw-r--r--views/window/non_client_view.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/views/window/non_client_view.cc b/views/window/non_client_view.cc
index a930a19..febf26c 100644
--- a/views/window/non_client_view.cc
+++ b/views/window/non_client_view.cc
@@ -29,9 +29,8 @@ static const int kClientViewIndex = 1;
////////////////////////////////////////////////////////////////////////////////
// NonClientView, public:
-NonClientView::NonClientView(Window* frame)
- : frame_(frame),
- client_view_(NULL) {
+NonClientView::NonClientView()
+ : client_view_(NULL) {
}
NonClientView::~NonClientView() {
@@ -59,11 +58,12 @@ void NonClientView::WindowClosing() {
}
void NonClientView::UpdateFrame() {
- SetFrameView(frame_->CreateFrameViewForWindow());
- GetWidget()->ThemeChanged();
+ Widget* widget = GetWidget();
+ SetFrameView(widget->CreateNonClientFrameView());
+ widget->ThemeChanged();
Layout();
SchedulePaint();
- frame_->UpdateFrameAfterFrameChange();
+ widget->UpdateFrameAfterFrameChange();
}
void NonClientView::DisableInactiveRendering(bool disable) {