Chromium Code Reviews| Index: athena/main/athena_main.cc |
| diff --git a/athena/main/athena_main.cc b/athena/main/athena_main.cc |
| index dacad6c72de8c96c637c6f28ef374c7599abe803..0ea372e41925bfef0c8484a5efaa2743d0be9905 100644 |
| --- a/athena/main/athena_main.cc |
| +++ b/athena/main/athena_main.cc |
| @@ -17,12 +17,16 @@ |
| #include "components/pdf/renderer/ppb_pdf_impl.h" |
| #include "content/public/app/content_main.h" |
| #include "content/public/browser/browser_thread.h" |
| +#include "extensions/browser/app_window/app_window.h" |
| +#include "extensions/browser/app_window/apps_client.h" |
| #include "extensions/shell/app/shell_main_delegate.h" |
| #include "extensions/shell/browser/desktop_controller.h" |
| +#include "extensions/shell/browser/shell_app_delegate.h" |
| #include "extensions/shell/browser/shell_app_window.h" |
| #include "extensions/shell/browser/shell_browser_main_delegate.h" |
| #include "extensions/shell/browser/shell_content_browser_client.h" |
| #include "extensions/shell/browser/shell_extension_system.h" |
| +#include "extensions/shell/browser/shell_native_app_window.h" |
| #include "extensions/shell/common/shell_content_client.h" |
| #include "extensions/shell/common/switches.h" |
| #include "extensions/shell/renderer/shell_content_renderer_client.h" |
| @@ -84,6 +88,43 @@ class AthenaDesktopController : public extensions::DesktopController { |
| DISALLOW_COPY_AND_ASSIGN(AthenaDesktopController); |
| }; |
| +class AthenaAppsClient : public extensions::AppsClient { |
| + public: |
|
oshima
2014/09/10 16:11:16
// extensions::AppsClient:
hashimoto
2014/09/11 06:26:35
Done.
|
| + virtual std::vector<content::BrowserContext*> |
| + GetLoadedBrowserContexts() OVERRIDE { |
| + NOTIMPLEMENTED(); |
| + return std::vector<content::BrowserContext*>(); |
| + } |
| + |
| + virtual extensions::AppWindow* CreateAppWindow( |
| + content::BrowserContext* context, |
| + const extensions::Extension* extension) OVERRIDE { |
| + return new extensions::AppWindow( |
| + context, new extensions::ShellAppDelegate, extension); |
| + } |
| + |
| + virtual extensions::NativeAppWindow* CreateNativeAppWindow( |
| + extensions::AppWindow* window, |
| + const extensions::AppWindow::CreateParams& params) OVERRIDE { |
| + athena::ActivityManager::Get()->AddActivity( |
| + athena::ActivityFactory::Get()->CreateAppActivity(window)); |
| + return new extensions::ShellNativeAppWindow(window, params); |
|
oshima
2014/09/10 16:11:16
FYI: CreateAppActivity currently creates its own w
hashimoto
2014/09/11 06:26:35
Can't athena be satisfied with aura::Window* inste
|
| + } |
| + |
| + virtual void IncrementKeepAliveCount() OVERRIDE {} |
| + |
| + virtual void DecrementKeepAliveCount() OVERRIDE {} |
| + |
| + virtual void OpenDevToolsWindow(content::WebContents* web_contents, |
| + const base::Closure& callback) OVERRIDE { |
| + NOTIMPLEMENTED(); |
| + } |
| + |
| + virtual bool IsCurrentChannelOlderThanDev() OVERRIDE { |
| + return false; |
| + } |
| +}; |
|
oshima
2014/09/10 16:11:16
disallow_copy_and_assign
hashimoto
2014/09/11 06:26:35
Done.
|
| + |
| class AthenaBrowserMainDelegate : public extensions::ShellBrowserMainDelegate { |
| public: |
| AthenaBrowserMainDelegate() {} |
| @@ -122,6 +163,10 @@ class AthenaBrowserMainDelegate : public extensions::ShellBrowserMainDelegate { |
| return new AthenaDesktopController(); |
| } |
| + virtual extensions::AppsClient* CreateAppsClient() OVERRIDE { |
| + return new AthenaAppsClient(); |
| + } |
| + |
| private: |
| DISALLOW_COPY_AND_ASSIGN(AthenaBrowserMainDelegate); |
| }; |