Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Side by Side Diff: athena/content/app_activity_proxy.h

Issue 548633005: Adding overview / layer framework to Activities so that unloaded / sleeping activities can be shown… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « athena/content/app_activity.cc ('k') | athena/content/app_activity_proxy.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ 5 #ifndef ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_
6 #define ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ 6 #define ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "athena/activity/public/activity.h" 10 #include "athena/activity/public/activity.h"
11 #include "athena/activity/public/activity_view_model.h" 11 #include "athena/activity/public/activity_view_model.h"
12 #include "athena/content/content_proxy.h"
13 #include "base/memory/scoped_ptr.h"
12 #include "ui/gfx/image/image_skia.h" 14 #include "ui/gfx/image/image_skia.h"
13 15
14 namespace athena { 16 namespace athena {
15 17
18 class AppActivity;
16 class AppActivityRegistry; 19 class AppActivityRegistry;
17 20
18 // This activity object is a proxy placeholder for the application while it is 21 // This activity object is a proxy placeholder for the application while it is
19 // unloaded. When selected it will launch the applciation again and destroy 22 // unloaded. When selected it will launch the applciation again and destroy
20 // itself indirectly. 23 // itself indirectly.
21 class AppActivityProxy : public Activity, 24 class AppActivityProxy : public Activity,
22 public ActivityViewModel { 25 public ActivityViewModel {
23 public: 26 public:
24 // The |replaced_activity| is the activity which this proxy replaces. Note 27 // The |replaced_activity| is the activity which this proxy replaces. Note
25 // that after the Init() call got called, this object will become invalid. 28 // that after the Init() call got called, this object will become invalid.
26 // The |creator| should be informed when the object goes away. 29 // The |creator| should be informed when the object goes away.
27 AppActivityProxy(Activity* replaced_activity, AppActivityRegistry* creator); 30 AppActivityProxy(AppActivity* replaced_activity,
31 AppActivityRegistry* creator);
28 32
29 protected: 33 protected:
30 virtual ~AppActivityProxy(); 34 virtual ~AppActivityProxy();
31 35
32 // Activity overrides: 36 // Activity overrides:
33 virtual ActivityViewModel* GetActivityViewModel() OVERRIDE; 37 virtual ActivityViewModel* GetActivityViewModel() OVERRIDE;
34 virtual void SetCurrentState(ActivityState state) OVERRIDE; 38 virtual void SetCurrentState(ActivityState state) OVERRIDE;
35 virtual ActivityState GetCurrentState() OVERRIDE; 39 virtual ActivityState GetCurrentState() OVERRIDE;
36 virtual bool IsVisible() OVERRIDE; 40 virtual bool IsVisible() OVERRIDE;
37 virtual ActivityMediaState GetMediaState() OVERRIDE; 41 virtual ActivityMediaState GetMediaState() OVERRIDE;
38 virtual aura::Window* GetWindow() OVERRIDE; 42 virtual aura::Window* GetWindow() OVERRIDE;
39 43
40 // ActivityViewModel overrides: 44 // ActivityViewModel overrides:
41 virtual void Init() OVERRIDE; 45 virtual void Init() OVERRIDE;
42 virtual SkColor GetRepresentativeColor() const OVERRIDE; 46 virtual SkColor GetRepresentativeColor() const OVERRIDE;
43 virtual base::string16 GetTitle() const OVERRIDE; 47 virtual base::string16 GetTitle() const OVERRIDE;
44 virtual gfx::ImageSkia GetIcon() const OVERRIDE; 48 virtual gfx::ImageSkia GetIcon() const OVERRIDE;
45 virtual bool UsesFrame() const OVERRIDE; 49 virtual bool UsesFrame() const OVERRIDE;
46 virtual views::View* GetContentsView() OVERRIDE; 50 virtual views::View* GetContentsView() OVERRIDE;
47 virtual views::Widget* CreateWidget() OVERRIDE; 51 virtual views::Widget* CreateWidget() OVERRIDE;
48 virtual void CreateOverviewModeImage() OVERRIDE;
49 virtual gfx::ImageSkia GetOverviewModeImage() OVERRIDE; 52 virtual gfx::ImageSkia GetOverviewModeImage() OVERRIDE;
50 virtual void PrepareContentsForOverview() OVERRIDE; 53 virtual void PrepareContentsForOverview() OVERRIDE;
51 virtual void ResetContentsView() OVERRIDE; 54 virtual void ResetContentsView() OVERRIDE;
52 55
53 private: 56 private:
54 // The creator of this object which needs to be informed if the object gets 57 // The creator of this object which needs to be informed if the object gets
55 // destroyed or the application should get restarted. 58 // destroyed or the application should get restarted.
56 AppActivityRegistry* app_activity_registry_; 59 AppActivityRegistry* app_activity_registry_;
57 60
58 // The presentation values. 61 // The presentation values.
59 const base::string16 title_; 62 const base::string16 title_;
60 const gfx::ImageSkia image_;
61 const SkColor color_; 63 const SkColor color_;
62 64
63 // The activity which gets replaced. It is used to sort the activity against 65 // The activity which gets replaced. It is used to sort the activity against
64 // upon initialization. Once moved, this value gets reset since the object 66 // upon initialization. Once moved, this value gets reset since the object
65 // can go away at any time. 67 // can go away at any time.
66 Activity* replaced_activity_; 68 AppActivity* replaced_activity_;
67 69
68 // The associated view. 70 // The associated view.
69 views::View* view_; 71 views::View* view_;
70 72
73 // The content proxy.
74 scoped_ptr<ContentProxy> content_proxy_;
75
71 DISALLOW_COPY_AND_ASSIGN(AppActivityProxy); 76 DISALLOW_COPY_AND_ASSIGN(AppActivityProxy);
72 }; 77 };
73 78
74 } // namespace athena 79 } // namespace athena
75 80
76 #endif // ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_ 81 #endif // ATHENA_CONTENT_APP_ACTIVITY_PROXY_H_
OLDNEW
« no previous file with comments | « athena/content/app_activity.cc ('k') | athena/content/app_activity_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698