| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ | 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ |
| 6 #define CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ | 6 #define CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ |
| 7 | 7 |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/threading/non_thread_safe.h" | 10 #include "base/threading/non_thread_safe.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 // created as soon as the Profile has been brought up. | 65 // created as soon as the Profile has been brought up. |
| 66 virtual bool ServiceIsCreatedWithProfile() const; | 66 virtual bool ServiceIsCreatedWithProfile() const; |
| 67 | 67 |
| 68 // By default, TestingProfiles will be treated like normal profiles. You can | 68 // By default, TestingProfiles will be treated like normal profiles. You can |
| 69 // override this so that by default, the service associated with the | 69 // override this so that by default, the service associated with the |
| 70 // TestingProfile is NULL. (This is just a shortcut around | 70 // TestingProfile is NULL. (This is just a shortcut around |
| 71 // SetTestingFactory() to make sure our profiles don't directly refer to the | 71 // SetTestingFactory() to make sure our profiles don't directly refer to the |
| 72 // services they use.) | 72 // services they use.) |
| 73 virtual bool ServiceIsNULLWhileTesting() const; | 73 virtual bool ServiceIsNULLWhileTesting() const; |
| 74 | 74 |
| 75 // By default, we do not create any services on the import process. Any |
| 76 // services that are required to perform an import should override this method |
| 77 // and return |false|. Note that any services created on the import process |
| 78 // may run in parallel with another instance of the service running in the |
| 79 // main browser process, so care must be taken to avoid conflicting use of |
| 80 // non-shareable resources like DB files. |
| 81 virtual bool ServiceIsNULLOnImportProcess() const; |
| 82 |
| 75 // Interface for people building a type of ProfileKeyedFactory: ------------- | 83 // Interface for people building a type of ProfileKeyedFactory: ------------- |
| 76 | 84 |
| 77 // A helper object actually listens for notifications about Profile | 85 // A helper object actually listens for notifications about Profile |
| 78 // destruction, calculates the order in which things are destroyed and then | 86 // destruction, calculates the order in which things are destroyed and then |
| 79 // does a two pass shutdown. | 87 // does a two pass shutdown. |
| 80 // | 88 // |
| 81 // It is up to the individual factory types to determine what this two pass | 89 // It is up to the individual factory types to determine what this two pass |
| 82 // shutdown means. The general framework guarantees the following: | 90 // shutdown means. The general framework guarantees the following: |
| 83 // | 91 // |
| 84 // - Each ProfileShutdown() is called in dependency order (and you may reach | 92 // - Each ProfileShutdown() is called in dependency order (and you may reach |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 131 |
| 124 #if !defined(NDEBUG) | 132 #if !defined(NDEBUG) |
| 125 // A static string passed in to our constructor. Should be unique across all | 133 // A static string passed in to our constructor. Should be unique across all |
| 126 // services. This is used only for debugging in debug mode. (We can print | 134 // services. This is used only for debugging in debug mode. (We can print |
| 127 // pretty graphs with GraphViz with this information.) | 135 // pretty graphs with GraphViz with this information.) |
| 128 const char* service_name_; | 136 const char* service_name_; |
| 129 #endif | 137 #endif |
| 130 }; | 138 }; |
| 131 | 139 |
| 132 #endif // CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ | 140 #endif // CHROME_BROWSER_PROFILES_PROFILE_KEYED_BASE_FACTORY_H_ |
| OLD | NEW |