Chromium Code Reviews| Index: athena/content/chrome/content_activity_factory.cc |
| diff --git a/athena/content/chrome/content_activity_factory.cc b/athena/content/chrome/content_activity_factory.cc |
| index 53ca8537d192b7a6eb05728973c3b0f82678c1ad..4585d27b6b318c4d670afd6181f2d8d70750c8cd 100644 |
| --- a/athena/content/chrome/content_activity_factory.cc |
| +++ b/athena/content/chrome/content_activity_factory.cc |
| @@ -6,6 +6,7 @@ |
| #include "athena/content/app_activity.h" |
| #include "extensions/browser/app_window/app_window.h" |
| +#include "ui/views/controls/webview/webview.h" |
| // TODO(oshima): Consolidate this and app shell implementation once |
| // crbug.com/403726 is fixed. |
| @@ -14,19 +15,31 @@ namespace { |
| class ChromeAppActivity : public AppActivity { |
| public: |
| - explicit ChromeAppActivity(extensions::AppWindow* app_window) |
| - : AppActivity(app_window->extension_id()), app_window_(app_window) {} |
| + ChromeAppActivity(extensions::AppWindow* app_window, views::WebView* web_view) |
| + : AppActivity(app_window->extension_id()), |
| + app_window_(app_window), |
| + web_view_(web_view) { |
| + Observe(app_window_->web_contents()); |
|
Jun Mukai
2014/09/10 23:35:38
It is a bit unclear to me that app_window_->web_co
oshima
2014/09/11 00:12:34
Good point. Done.
|
| + } |
| private: |
| virtual ~ChromeAppActivity() {} |
| - // AppActivity: |
| - virtual content::WebContents* GetWebContents() OVERRIDE { |
| - return app_window_->web_contents(); |
| + // ActivityViewModel overrides: |
| + virtual views::Widget* CreateWidget() OVERRIDE { |
| + // This is necessary to register apps. |
| + // TODO(oshima): This will become unnecessary once the |
| + // shell_app_window is removed. |
| + GetContentsView(); |
| + return web_view_->GetWidget(); |
| } |
| + // AppActivity: |
| + virtual views::WebView* GetWebView() OVERRIDE { return web_view_; } |
| + |
| // Not owned. |
| extensions::AppWindow* app_window_; |
| + views::WebView* web_view_; |
| DISALLOW_COPY_AND_ASSIGN(ChromeAppActivity); |
| }; |
| @@ -34,8 +47,9 @@ class ChromeAppActivity : public AppActivity { |
| } // namespace |
| Activity* ContentActivityFactory::CreateAppActivity( |
| - extensions::AppWindow* app_window) { |
| - return new ChromeAppActivity(app_window); |
| + extensions::AppWindow* app_window, |
| + views::WebView* web_view) { |
| + return new ChromeAppActivity(app_window, web_view); |
| } |
| Activity* ContentActivityFactory::CreateAppActivity( |