diff options
Diffstat (limited to 'chromium/components/payments/content/can_make_payment_query_factory.h')
-rw-r--r-- | chromium/components/payments/content/can_make_payment_query_factory.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/chromium/components/payments/content/can_make_payment_query_factory.h b/chromium/components/payments/content/can_make_payment_query_factory.h new file mode 100644 index 00000000000..3d67e036899 --- /dev/null +++ b/chromium/components/payments/content/can_make_payment_query_factory.h @@ -0,0 +1,46 @@ +// Copyright 2017 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_PAYMENTS_CONTENT_CAN_MAKE_PAYMENT_QUERY_FACTORY_H_ +#define COMPONENTS_PAYMENTS_CONTENT_CAN_MAKE_PAYMENT_QUERY_FACTORY_H_ + +#include "base/macros.h" +#include "components/keyed_service/content/browser_context_keyed_service_factory.h" + +namespace base { +template <typename T> +struct DefaultSingletonTraits; +} + +namespace content { +class BrowserContext; +} + +namespace payments { + +class CanMakePaymentQuery; + +// Ensures that there's only one instance of CanMakePaymentQuery per browser +// context. +class CanMakePaymentQueryFactory : public BrowserContextKeyedServiceFactory { + public: + static CanMakePaymentQueryFactory* GetInstance(); + CanMakePaymentQuery* GetForContext(content::BrowserContext* context); + + private: + friend struct base::DefaultSingletonTraits<CanMakePaymentQueryFactory>; + + CanMakePaymentQueryFactory(); + ~CanMakePaymentQueryFactory() override; + + // BrowserContextKeyedServiceFactory: + KeyedService* BuildServiceInstanceFor( + content::BrowserContext* context) const override; + + DISALLOW_COPY_AND_ASSIGN(CanMakePaymentQueryFactory); +}; + +} // namespace payments + +#endif // COMPONENTS_PAYMENTS_CONTENT_CAN_MAKE_PAYMENT_QUERY_FACTORY_H_ |