OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IOS_CHROME_BROWSER_FAVICON_IOS_CHROME_LARGE_ICON_CACHE_FACTORY_H_ | 5 #ifndef IOS_CHROME_BROWSER_GOOGLE_GOOGLE_LOGO_SERVICE_FACTORY_H_ |
6 #define IOS_CHROME_BROWSER_FAVICON_IOS_CHROME_LARGE_ICON_CACHE_FACTORY_H_ | 6 #define IOS_CHROME_BROWSER_GOOGLE_GOOGLE_LOGO_SERVICE_FACTORY_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
11 #include "components/keyed_service/ios/browser_state_keyed_service_factory.h" | 11 #include "components/keyed_service/ios/browser_state_keyed_service_factory.h" |
12 | 12 |
13 class KeyedService; | |
14 class LargeIconCache; | |
15 | |
16 namespace base { | 13 namespace base { |
17 template <typename T> | 14 template <typename T> |
18 struct DefaultSingletonTraits; | 15 struct DefaultSingletonTraits; |
19 } | 16 } // namespace base |
20 | 17 |
21 namespace ios { | 18 namespace ios { |
22 class ChromeBrowserState; | 19 class ChromeBrowserState; |
23 } | 20 } |
24 | 21 |
25 // Singleton that owns all LargeIconCaches and associates them with | 22 class KeyedService; |
| 23 class GoogleLogoService; |
| 24 |
| 25 // Singleton that owns all GoogleLogoServices and associates them with |
26 // ChromeBrowserState. | 26 // ChromeBrowserState. |
27 class IOSChromeLargeIconCacheFactory : public BrowserStateKeyedServiceFactory { | 27 class GoogleLogoServiceFactory : public BrowserStateKeyedServiceFactory { |
28 public: | 28 public: |
29 static LargeIconCache* GetForBrowserState( | 29 static GoogleLogoService* GetForBrowserState( |
30 ios::ChromeBrowserState* browser_state); | 30 ios::ChromeBrowserState* browser_state); |
31 | 31 |
32 static IOSChromeLargeIconCacheFactory* GetInstance(); | 32 static GoogleLogoServiceFactory* GetInstance(); |
33 | 33 |
34 private: | 34 private: |
35 friend struct base::DefaultSingletonTraits<IOSChromeLargeIconCacheFactory>; | 35 friend struct base::DefaultSingletonTraits<GoogleLogoServiceFactory>; |
36 | 36 |
37 IOSChromeLargeIconCacheFactory(); | 37 GoogleLogoServiceFactory(); |
38 ~IOSChromeLargeIconCacheFactory() override; | 38 ~GoogleLogoServiceFactory() override; |
39 | 39 |
40 // BrowserStateKeyedServiceFactory implementation. | 40 // BrowserStateKeyedServiceFactory implementation. |
41 std::unique_ptr<KeyedService> BuildServiceInstanceFor( | 41 std::unique_ptr<KeyedService> BuildServiceInstanceFor( |
42 web::BrowserState* context) const override; | 42 web::BrowserState* context) const override; |
43 web::BrowserState* GetBrowserStateToUse( | 43 web::BrowserState* GetBrowserStateToUse( |
44 web::BrowserState* context) const override; | 44 web::BrowserState* context) const override; |
45 | 45 |
46 DISALLOW_COPY_AND_ASSIGN(IOSChromeLargeIconCacheFactory); | 46 DISALLOW_COPY_AND_ASSIGN(GoogleLogoServiceFactory); |
47 }; | 47 }; |
48 | 48 |
49 #endif // IOS_CHROME_BROWSER_FAVICON_IOS_CHROME_LARGE_ICON_CACHE_FACTORY_H_ | 49 #endif // IOS_CHROME_BROWSER_GOOGLE_GOOGLE_LOGO_SERVICE_FACTORY_H_ |
OLD | NEW |