summaryrefslogtreecommitdiff
path: root/athena/activity
diff options
context:
space:
mode:
Diffstat (limited to 'athena/activity')
-rw-r--r--athena/activity/DEPS6
-rw-r--r--athena/activity/activity_view_manager_impl.cc6
-rw-r--r--athena/activity/public/activity_factory.h8
-rw-r--r--athena/activity/public/activity_view_model.h8
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;