1 // Copyright 2013 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. 4 5 #ifndef CHROME_BROWSER_APPS_CHROME_APPS_CLIENT_H_ 6 #define CHROME_BROWSER_APPS_CHROME_APPS_CLIENT_H_ 7 8 #include "apps/apps_client.h" 9 #include "base/basictypes.h" 10 #include "base/compiler_specific.h" 11 12 template<typename T> struct DefaultSingletonTraits; 13 14 // The implementation of AppsClient for Chrome. 15 class ChromeAppsClient : public apps::AppsClient { 16 public: 17 ChromeAppsClient(); 18 virtual ~ChromeAppsClient(); 19 20 // Get the LazyInstance for ChromeAppsClient. 21 static ChromeAppsClient* GetInstance(); 22 23 private: 24 friend struct DefaultSingletonTraits<ChromeAppsClient>; 25 26 // apps::AppsClient 27 virtual std::vector<content::BrowserContext*> GetLoadedBrowserContexts() 28 OVERRIDE; 29 virtual apps::AppWindow* CreateAppWindow( 30 content::BrowserContext* context, 31 const extensions::Extension* extension) OVERRIDE; 32 virtual void IncrementKeepAliveCount() OVERRIDE; 33 virtual void DecrementKeepAliveCount() OVERRIDE; 34 35 DISALLOW_COPY_AND_ASSIGN(ChromeAppsClient); 36 }; 37 38 #endif // CHROME_BROWSER_APPS_CHROME_APPS_CLIENT_H_ 39