// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_CUSTOM_HANDLERS_SIMPLE_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_ #define COMPONENTS_CUSTOM_HANDLERS_SIMPLE_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_ #include "base/no_destructor.h" #include "components/keyed_service/content/browser_context_keyed_service_factory.h" namespace custom_handlers { class ProtocolHandlerRegistry; // Simgleton that owns all the ProtocolHandlerRegistrys and associates them with // BrowserContext instances. // // It creates the Registry instances without access to the PrefService storage. // This is useful for testing purposes, since we can't be sure the UserPref // storage has been set (eg, Web Platform Tests). // // It uses the TestProtocolHandlerRegistryDelegate, hence it doesn't provide any // OS integration during the registration process. // // It does not override the GetBrowserContextToUse method from // BrowserContextKeyedServiceFactory, which means that no service is returned in // Incognito. class SimpleProtocolHandlerRegistryFactory : public BrowserContextKeyedServiceFactory { … }; } // namespace custom_handlers #endif // COMPONENTS_CUSTOM_HANDLERS_SIMPLE_PROTOCOL_HANDLER_REGISTRY_FACTORY_H_