Index: athena/activity/activity_widget_delegate.cc |
diff --git a/athena/activity/activity_widget_delegate.cc b/athena/activity/activity_widget_delegate.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3c638e8564afc8ad95d00c6c7998af660fc2da3d |
--- /dev/null |
+++ b/athena/activity/activity_widget_delegate.cc |
@@ -0,0 +1,51 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "athena/activity/activity_widget_delegate.h" |
+ |
+#include "athena/activity/activity_frame_view.h" |
+#include "athena/activity/public/activity_view_model.h" |
+#include "ui/views/view.h" |
+#include "ui/views/window/client_view.h" |
+ |
+namespace athena { |
+ |
+ActivityWidgetDelegate::ActivityWidgetDelegate(ActivityViewModel* view_model) |
+ : view_model_(view_model) { |
+} |
+ |
+ActivityWidgetDelegate::~ActivityWidgetDelegate() { |
+} |
+ |
+base::string16 ActivityWidgetDelegate::GetWindowTitle() const { |
+ return view_model_->GetTitle(); |
+} |
+ |
+void ActivityWidgetDelegate::DeleteDelegate() { |
+ delete this; |
+} |
+ |
+views::Widget* ActivityWidgetDelegate::GetWidget() { |
+ return GetContentsView()->GetWidget(); |
+} |
+ |
+const views::Widget* ActivityWidgetDelegate::GetWidget() const { |
+ return const_cast<ActivityWidgetDelegate*>(this)->GetWidget(); |
+} |
+ |
+views::View* ActivityWidgetDelegate::GetContentsView() { |
+ return view_model_->GetContentsView(); |
+} |
+ |
+views::ClientView* ActivityWidgetDelegate::CreateClientView( |
+ views::Widget* widget) { |
+ return new views::ClientView(widget, view_model_->GetContentsView()); |
+} |
+ |
+views::NonClientFrameView* ActivityWidgetDelegate::CreateNonClientFrameView( |
+ views::Widget* widget) { |
+ return new ActivityFrameView(widget, view_model_); |
+} |
+ |
+} // namespace athena |