1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file. 4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "athena/activity/activity_widget_delegate.h" 6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "athena/activity/activity_frame_view.h" 8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "athena/activity/public/activity_view_model.h" 9116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/views/view.h" 10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "ui/views/window/client_view.h" 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 12116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace athena { 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 14116680a4aac90f2aa7413d9095a592090648e557Ben MurdochActivityWidgetDelegate::ActivityWidgetDelegate(ActivityViewModel* view_model) 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch : view_model_(view_model) { 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 18116680a4aac90f2aa7413d9095a592090648e557Ben MurdochActivityWidgetDelegate::~ActivityWidgetDelegate() { 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdochbase::string16 ActivityWidgetDelegate::GetWindowTitle() const { 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return view_model_->GetTitle(); 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 25116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid ActivityWidgetDelegate::DeleteDelegate() { 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch delete this; 27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 29116680a4aac90f2aa7413d9095a592090648e557Ben Murdochviews::Widget* ActivityWidgetDelegate::GetWidget() { 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return GetContentsView()->GetWidget(); 31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst views::Widget* ActivityWidgetDelegate::GetWidget() const { 34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return const_cast<ActivityWidgetDelegate*>(this)->GetWidget(); 35116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 36116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 37116680a4aac90f2aa7413d9095a592090648e557Ben Murdochviews::View* ActivityWidgetDelegate::GetContentsView() { 38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return view_model_->GetContentsView(); 39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 40116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 41116680a4aac90f2aa7413d9095a592090648e557Ben Murdochviews::ClientView* ActivityWidgetDelegate::CreateClientView( 42116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch views::Widget* widget) { 43116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return new views::ClientView(widget, view_model_->GetContentsView()); 44116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 45116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 46116680a4aac90f2aa7413d9095a592090648e557Ben Murdochviews::NonClientFrameView* ActivityWidgetDelegate::CreateNonClientFrameView( 47116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch views::Widget* widget) { 48116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch return new ActivityFrameView(widget, view_model_); 49116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} 50116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 51116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace athena 52