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
3 // found in the LICENSE file.
5 #ifndef ATHENA_CONTENT_PUBLIC_WEB_ACTIVITY_H_
6 #define ATHENA_CONTENT_PUBLIC_WEB_ACTIVITY_H_
8 #include "athena/activity/public/activity.h"
9 #include "athena/activity/public/activity_view_model.h"
10 #include "content/public/browser/web_contents_observer.h"
11 #include "ui/gfx/image/image_skia.h"
27 class WebActivity
: public Activity
,
28 public ActivityViewModel
,
29 public content::WebContentsObserver
{
31 WebActivity(content::BrowserContext
* context
, const GURL
& gurl
);
32 WebActivity(AthenaWebView
* web_view
);
33 virtual ~WebActivity();
37 virtual athena::ActivityViewModel
* GetActivityViewModel() OVERRIDE
;
38 virtual void SetCurrentState(ActivityState state
) OVERRIDE
;
39 virtual ActivityState
GetCurrentState() OVERRIDE
;
40 virtual bool IsVisible() OVERRIDE
;
41 virtual ActivityMediaState
GetMediaState() OVERRIDE
;
42 virtual aura::Window
* GetWindow() OVERRIDE
;
45 virtual void Init() OVERRIDE
;
46 virtual SkColor
GetRepresentativeColor() const OVERRIDE
;
47 virtual base::string16
GetTitle() const OVERRIDE
;
48 virtual bool UsesFrame() const OVERRIDE
;
49 virtual views::View
* GetContentsView() OVERRIDE
;
50 virtual void CreateOverviewModeImage() OVERRIDE
;
51 virtual gfx::ImageSkia
GetOverviewModeImage() OVERRIDE
;
53 // content::WebContentsObserver:
54 virtual void TitleWasSet(content::NavigationEntry
* entry
,
55 bool explicit_set
) OVERRIDE
;
56 virtual void DidUpdateFaviconURL(
57 const std::vector
<content::FaviconURL
>& candidates
) OVERRIDE
;
58 virtual void DidChangeThemeColor(SkColor theme_color
) OVERRIDE
;
61 content::BrowserContext
* browser_context_
;
63 AthenaWebView
* web_view_
;
66 // The current state for this activity.
67 ActivityState current_state_
;
69 // The image which will be used in overview mode.
70 gfx::ImageSkia overview_mode_image_
;
72 DISALLOW_COPY_AND_ASSIGN(WebActivity
);
77 #endif // ATHENA_CONTENT_WEB_ACTIVITY_H_