diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 15:42:46 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-03 15:42:46 +0000 |
commit | 9f2ea8764277f52936b65136322a97f1d92a7fa9 (patch) | |
tree | b2fac198048fd0b3d9f5b7a5a63870b967ed8999 /views/window/non_client_view.cc | |
parent | 6eecccb5ea44d7a55fac158ae6b6d6dff9b33321 (diff) | |
download | chromium_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.cc | 12 |
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) { |