| 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_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ |   5 #ifndef IOS_CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ | 
|   6 #define IOS_CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ |   6 #define IOS_CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ | 
|   7  |   7  | 
|   8 #include "base/macros.h" |   8 #include "base/macros.h" | 
|   9 #include "base/memory/scoped_ptr.h" |   9 #include "base/memory/scoped_ptr.h" | 
|  10 #include "components/keyed_service/ios/browser_state_keyed_service_factory.h" |  10 #include "components/keyed_service/ios/browser_state_keyed_service_factory.h" | 
|  11  |  11  | 
 |  12 namespace base { | 
|  12 template <typename T> |  13 template <typename T> | 
|  13 struct DefaultSingletonTraits; |  14 struct DefaultSingletonTraits; | 
 |  15 }  // namespace base | 
|  14  |  16  | 
|  15 namespace autofill { |  17 namespace autofill { | 
|  16 class PersonalDataManager; |  18 class PersonalDataManager; | 
|  17 } |  19 } | 
|  18  |  20  | 
|  19 namespace ios { |  21 namespace ios { | 
|  20 class ChromeBrowserState; |  22 class ChromeBrowserState; | 
|  21 } |  23 } | 
|  22  |  24  | 
|  23 // Singleton that owns all PersonalDataManagers and associates them with |  25 // Singleton that owns all PersonalDataManagers and associates them with | 
|  24 // ios::ChromeBrowserState. |  26 // ios::ChromeBrowserState. | 
|  25 class PersonalDataManagerFactory : public BrowserStateKeyedServiceFactory { |  27 class PersonalDataManagerFactory : public BrowserStateKeyedServiceFactory { | 
|  26  public: |  28  public: | 
|  27   static autofill::PersonalDataManager* GetForBrowserState( |  29   static autofill::PersonalDataManager* GetForBrowserState( | 
|  28       ios::ChromeBrowserState* browser_state); |  30       ios::ChromeBrowserState* browser_state); | 
|  29   static PersonalDataManagerFactory* GetInstance(); |  31   static PersonalDataManagerFactory* GetInstance(); | 
|  30  |  32  | 
|  31  private: |  33  private: | 
|  32   friend struct DefaultSingletonTraits<PersonalDataManagerFactory>; |  34   friend struct base::DefaultSingletonTraits<PersonalDataManagerFactory>; | 
|  33  |  35  | 
|  34   PersonalDataManagerFactory(); |  36   PersonalDataManagerFactory(); | 
|  35   ~PersonalDataManagerFactory() override; |  37   ~PersonalDataManagerFactory() override; | 
|  36  |  38  | 
|  37   // BrowserStateKeyedServiceFactory implementation. |  39   // BrowserStateKeyedServiceFactory implementation. | 
|  38   scoped_ptr<KeyedService> BuildServiceInstanceFor( |  40   scoped_ptr<KeyedService> BuildServiceInstanceFor( | 
|  39       web::BrowserState* context) const override; |  41       web::BrowserState* context) const override; | 
|  40  |  42  | 
|  41   DISALLOW_COPY_AND_ASSIGN(PersonalDataManagerFactory); |  43   DISALLOW_COPY_AND_ASSIGN(PersonalDataManagerFactory); | 
|  42 }; |  44 }; | 
|  43  |  45  | 
|  44 #endif  // IOS_CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ |  46 #endif  // IOS_CHROME_BROWSER_AUTOFILL_PERSONAL_DATA_MANAGER_FACTORY_H_ | 
| OLD | NEW |