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( |