summaryrefslogtreecommitdiffstats
path: root/chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h')
-rw-r--r--chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h101
1 files changed, 0 insertions, 101 deletions
diff --git a/chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h b/chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h
deleted file mode 100644
index 6b2ba2620c5..00000000000
--- a/chromium/components/browser_context_keyed_service/browser_context_dependency_manager.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_BROWSER_CONTEXT_KEYED_SERVICE_BROWSER_CONTEXT_DEPENDENCY_MANAGER_H_
-#define COMPONENTS_BROWSER_CONTEXT_KEYED_SERVICE_BROWSER_CONTEXT_DEPENDENCY_MANAGER_H_
-
-#include "base/memory/singleton.h"
-#include "components/browser_context_keyed_service/browser_context_keyed_service_export.h"
-#include "components/browser_context_keyed_service/dependency_graph.h"
-
-#ifndef NDEBUG
-#include <set>
-#endif
-
-class BrowserContextKeyedBaseFactory;
-
-namespace content {
-class BrowserContext;
-}
-
-namespace user_prefs {
-class PrefRegistrySyncable;
-}
-
-// A singleton that listens for context destruction notifications and
-// rebroadcasts them to each BrowserContextKeyedBaseFactory in a safe order
-// based on the stated dependencies by each service.
-class BROWSER_CONTEXT_KEYED_SERVICE_EXPORT BrowserContextDependencyManager {
- public:
- // Adds/Removes a component from our list of live components. Removing will
- // also remove live dependency links.
- void AddComponent(BrowserContextKeyedBaseFactory* component);
- void RemoveComponent(BrowserContextKeyedBaseFactory* component);
-
- // Adds a dependency between two factories.
- void AddEdge(BrowserContextKeyedBaseFactory* depended,
- BrowserContextKeyedBaseFactory* dependee);
-
- // Registers profile-specific preferences for all services via |registry|.
- // |context| should be the BrowserContext containing |registry| and is used as
- // a key to prevent multiple registrations on the same BrowserContext in
- // tests.
- void RegisterProfilePrefsForServices(
- const content::BrowserContext* context,
- user_prefs::PrefRegistrySyncable* registry);
-
- // Called by each BrowserContext to alert us of its creation. Several services
- // want to be started when a context is created. If you want your
- // BrowserContextKeyedService to be started with the BrowserContext, override
- // BrowserContextKeyedBaseFactory::ServiceIsCreatedWithBrowserContext() to
- // return true. This method also registers any service-related preferences
- // for non-incognito profiles.
- void CreateBrowserContextServices(content::BrowserContext* context);
-
- // Similar to CreateBrowserContextServices(), except this is used for creating
- // test BrowserContexts - these contexts will not create services for any
- // BrowserContextKeyedBaseFactories that return true from
- // ServiceIsNULLWhileTesting().
- void CreateBrowserContextServicesForTest(content::BrowserContext* context);
-
- // Called by each BrowserContext to alert us that we should destroy services
- // associated with it.
- void DestroyBrowserContextServices(content::BrowserContext* context);
-
-#ifndef NDEBUG
- // Debugging assertion called as part of GetServiceForBrowserContext in debug
- // mode. This will NOTREACHED() whenever the user is trying to access a stale
- // BrowserContext*.
- void AssertBrowserContextWasntDestroyed(content::BrowserContext* context);
-#endif
-
- static BrowserContextDependencyManager* GetInstance();
-
- private:
- friend class BrowserContextDependencyManagerUnittests;
- friend struct DefaultSingletonTraits<BrowserContextDependencyManager>;
-
- // Helper function used by CreateBrowserContextServices[ForTest].
- void DoCreateBrowserContextServices(content::BrowserContext* context,
- bool is_testing_context);
-
- BrowserContextDependencyManager();
- virtual ~BrowserContextDependencyManager();
-
-#ifndef NDEBUG
- void DumpBrowserContextDependencies(content::BrowserContext* context);
-#endif
-
- DependencyGraph dependency_graph_;
-
-#ifndef NDEBUG
- // A list of context objects that have gone through the Shutdown()
- // phase. These pointers are most likely invalid, but we keep track of their
- // locations in memory so we can nicely assert if we're asked to do anything
- // with them.
- std::set<content::BrowserContext*> dead_context_pointers_;
-#endif
-};
-
-#endif // COMPONENTS_BROWSER_CONTEXT_KEYED_SERVICE_BROWSER_CONTEXT_DEPENDENCY_MANAGER_H_