diff options
Diffstat (limited to 'athena/activity')
-rw-r--r-- | athena/activity/DEPS | 6 | ||||
-rw-r--r-- | athena/activity/activity_view_manager_impl.cc | 6 | ||||
-rw-r--r-- | athena/activity/public/activity_factory.h | 8 | ||||
-rw-r--r-- | athena/activity/public/activity_view_model.h | 8 |
4 files changed, 16 insertions, 12 deletions
diff --git a/athena/activity/DEPS b/athena/activity/DEPS index d8c9b8eb1d..aafc6d4c6d 100644 --- a/athena/activity/DEPS +++ b/athena/activity/DEPS @@ -3,9 +3,3 @@ include_rules = [ "+ui/aura", "+ui/views", ] - -specific_include_rules = { - ".*unittest\.cc": [ - "+athena/test", - ], -} diff --git a/athena/activity/activity_view_manager_impl.cc b/athena/activity/activity_view_manager_impl.cc index d18879280f..a67e6bbd2f 100644 --- a/athena/activity/activity_view_manager_impl.cc +++ b/athena/activity/activity_view_manager_impl.cc @@ -10,7 +10,6 @@ #include "athena/activity/public/activity.h" #include "athena/activity/public/activity_view_model.h" #include "athena/screen/public/screen_manager.h" -#include "base/strings/utf_string_conversions.h" #include "ui/aura/window.h" #include "ui/views/background.h" #include "ui/views/controls/label.h" @@ -49,6 +48,8 @@ class ActivityWidget : public views::LayoutManager { params.activatable = views::Widget::InitParams::ACTIVATABLE_YES; widget_->Init(params); widget_->SetContentsView(container_); + + activity_->GetActivityViewModel()->Init(); } virtual ~ActivityWidget() {} @@ -59,8 +60,7 @@ class ActivityWidget : public views::LayoutManager { } void Update() { - title_->SetText( - base::UTF8ToUTF16(activity_->GetActivityViewModel()->GetTitle())); + title_->SetText(activity_->GetActivityViewModel()->GetTitle()); SkColor bgcolor = activity_->GetActivityViewModel()->GetRepresentativeColor(); title_->set_background(views::Background::CreateSolidBackground(bgcolor)); diff --git a/athena/activity/public/activity_factory.h b/athena/activity/public/activity_factory.h index 8cea669e10..bc95893e25 100644 --- a/athena/activity/public/activity_factory.h +++ b/athena/activity/public/activity_factory.h @@ -8,6 +8,10 @@ #include "athena/athena_export.h" #include "url/gurl.h" +namespace apps { +class ShellAppWindow; +} + namespace content { class BrowserContext; } @@ -31,6 +35,10 @@ class ATHENA_EXPORT ActivityFactory { // Create an activity of a web page. virtual Activity* CreateWebActivity(content::BrowserContext* browser_context, const GURL& url) = 0; + + // Create an activity of an app with |app_window|. The returned activity + // should own |app_window|. + virtual Activity* CreateAppActivity(apps::ShellAppWindow* app_window) = 0; }; } // namespace athena diff --git a/athena/activity/public/activity_view_model.h b/athena/activity/public/activity_view_model.h index b7eb2212a8..5e6614c8cb 100644 --- a/athena/activity/public/activity_view_model.h +++ b/athena/activity/public/activity_view_model.h @@ -5,9 +5,8 @@ #ifndef ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ #define ATHENA_ACTIVITY_PUBLIC_ACTIVITY_VIEW_MODEL_H_ -#include <string> - #include "athena/athena_export.h" +#include "base/strings/string16.h" typedef unsigned int SkColor; @@ -21,11 +20,14 @@ class ATHENA_EXPORT ActivityViewModel { public: virtual ~ActivityViewModel() {} + // Called after the view model is attaced to the widget/window tree. + virtual void Init() = 0; + // Returns a color most representative of this activity. virtual SkColor GetRepresentativeColor() = 0; // Returns a title for the activity. - virtual std::string GetTitle() = 0; + virtual base::string16 GetTitle() = 0; // Returns the contents view. virtual views::View* GetContentsView() = 0; |