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

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

Issue 505273002: Move app_shell specific impl from athena_lib to athena_shell_lib (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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/DEPS ('k') | athena/content/app_activity.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_H_ 5 #ifndef ATHENA_CONTENT_APP_ACTIVITY_H_
6 #define ATHENA_CONTENT_APP_ACTIVITY_H_ 6 #define ATHENA_CONTENT_APP_ACTIVITY_H_
7 7
8 #include "athena/activity/public/activity.h" 8 #include "athena/activity/public/activity.h"
9 #include "athena/activity/public/activity_view_model.h" 9 #include "athena/activity/public/activity_view_model.h"
10 #include "content/public/browser/web_contents_observer.h" 10 #include "content/public/browser/web_contents_observer.h"
11 #include "ui/gfx/image/image_skia.h" 11 #include "ui/gfx/image/image_skia.h"
12 12
13 namespace extensions { 13 namespace contents {
14 class ShellAppWindow; 14 class WebContents;
15 } 15 }
16 16
17 namespace views { 17 namespace views {
18 class WebView; 18 class WebView;
19 } 19 }
20 20
21 namespace athena { 21 namespace athena {
22 22
23 class AppActivityRegistry; 23 class AppActivityRegistry;
24 24
25 // The activity object for a hosted V2 application. 25 // The activity object for a hosted V2 application.
26 class AppActivity : public Activity, 26 class AppActivity : public Activity,
27 public ActivityViewModel, 27 public ActivityViewModel,
28 public content::WebContentsObserver { 28 public content::WebContentsObserver {
29 public: 29 public:
30 explicit AppActivity(extensions::ShellAppWindow* app_window); 30 AppActivity();
31 virtual ~AppActivity(); 31 virtual ~AppActivity();
32 32
33 // Activity: 33 // Activity:
34 virtual athena::ActivityViewModel* GetActivityViewModel() OVERRIDE; 34 virtual athena::ActivityViewModel* GetActivityViewModel() OVERRIDE;
35 virtual void SetCurrentState(Activity::ActivityState state) OVERRIDE; 35 virtual void SetCurrentState(Activity::ActivityState state) OVERRIDE;
36 virtual ActivityState GetCurrentState() OVERRIDE; 36 virtual ActivityState GetCurrentState() OVERRIDE;
37 virtual bool IsVisible() OVERRIDE; 37 virtual bool IsVisible() OVERRIDE;
38 virtual ActivityMediaState GetMediaState() OVERRIDE; 38 virtual ActivityMediaState GetMediaState() OVERRIDE;
39 virtual aura::Window* GetWindow() OVERRIDE; 39 virtual aura::Window* GetWindow() OVERRIDE;
40 40
41 // ActivityViewModel: 41 // ActivityViewModel:
42 virtual void Init() OVERRIDE; 42 virtual void Init() OVERRIDE;
43 virtual SkColor GetRepresentativeColor() const OVERRIDE; 43 virtual SkColor GetRepresentativeColor() const OVERRIDE;
44 virtual base::string16 GetTitle() const OVERRIDE; 44 virtual base::string16 GetTitle() const OVERRIDE;
45 virtual bool UsesFrame() const OVERRIDE; 45 virtual bool UsesFrame() const OVERRIDE;
46 virtual views::View* GetContentsView() OVERRIDE; 46 virtual views::View* GetContentsView() OVERRIDE;
47 virtual void CreateOverviewModeImage() OVERRIDE; 47 virtual void CreateOverviewModeImage() OVERRIDE;
48 virtual gfx::ImageSkia GetOverviewModeImage() OVERRIDE; 48 virtual gfx::ImageSkia GetOverviewModeImage() OVERRIDE;
49 49
50 protected: 50 protected:
51 // content::WebContentsObserver: 51 // content::WebContentsObserver:
52 virtual void TitleWasSet(content::NavigationEntry* entry, 52 virtual void TitleWasSet(content::NavigationEntry* entry,
53 bool explicit_set) OVERRIDE; 53 bool explicit_set) OVERRIDE;
54 virtual void DidUpdateFaviconURL( 54 virtual void DidUpdateFaviconURL(
55 const std::vector<content::FaviconURL>& candidates) OVERRIDE; 55 const std::vector<content::FaviconURL>& candidates) OVERRIDE;
56 virtual void DidStartNavigationToPendingEntry( 56 virtual void DidStartNavigationToPendingEntry(
57 const GURL& url, 57 const GURL& url,
58 content::NavigationController::ReloadType reload_type) OVERRIDE; 58 content::NavigationController::ReloadType reload_type) OVERRIDE;
59 59
60 protected:
61 virtual content::WebContents* GetWebContents() = 0;
62
60 private: 63 private:
61 // Register this activity with its application. 64 // Register this activity with its application.
62 void RegisterActivity(); 65 void RegisterActivity();
63 66
64 scoped_ptr<extensions::ShellAppWindow> app_window_;
65 views::WebView* web_view_; 67 views::WebView* web_view_;
66 68
67 // The current state for this activity. 69 // The current state for this activity.
68 ActivityState current_state_; 70 ActivityState current_state_;
69 71
70 // The image which will be used in overview mode. 72 // The image which will be used in overview mode.
71 gfx::ImageSkia overview_mode_image_; 73 gfx::ImageSkia overview_mode_image_;
72 74
73 // If known the registry which holds all activities for the associated app. 75 // If known the registry which holds all activities for the associated app.
74 // This object is owned by |AppRegistry| and will be a valid pointer as long 76 // This object is owned by |AppRegistry| and will be a valid pointer as long
75 // as this object lives. 77 // as this object lives.
76 AppActivityRegistry* app_activity_registry_; 78 AppActivityRegistry* app_activity_registry_;
77 79
78 DISALLOW_COPY_AND_ASSIGN(AppActivity); 80 DISALLOW_COPY_AND_ASSIGN(AppActivity);
79 }; 81 };
80 82
81 } // namespace athena 83 } // namespace athena
82 84
83 #endif // ATHENA_CONTENT_APP_ACTIVITY_H_ 85 #endif // ATHENA_CONTENT_APP_ACTIVITY_H_
OLDNEW
« no previous file with comments | « athena/content/DEPS ('k') | athena/content/app_activity.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698