ApplePaySetupWebCore.h [plain text]
#pragma once
#if ENABLE(APPLE_PAY)
#include "ApplePaySetupConfiguration.h"
#include <WebCore/ActiveDOMObject.h>
#include <WebCore/JSDOMPromiseDeferred.h>
#include <wtf/Forward.h>
#include <wtf/Ref.h>
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class ApplePaySetupFeature;
class DeferredPromise;
class Document;
class ApplePaySetup : public ActiveDOMObject, public RefCounted<ApplePaySetup> {
public:
static Ref<ApplePaySetup> create(ScriptExecutionContext& context, ApplePaySetupConfiguration&& configuration)
{
return adoptRef(*new ApplePaySetup(context, WTFMove(configuration)));
}
using SetupFeaturesPromise = DOMPromiseDeferred<IDLSequence<IDLInterface<ApplePaySetupFeature>>>;
void getSetupFeatures(Document&, SetupFeaturesPromise&&);
using BeginPromise = DOMPromiseDeferred<IDLBoolean>;
void begin(Document&, Vector<RefPtr<ApplePaySetupFeature>>&&, BeginPromise&&);
private:
ApplePaySetup(ScriptExecutionContext&, ApplePaySetupConfiguration&&);
const char* activeDOMObjectName() const final { return "ApplePaySetup"; }
void stop() final;
void suspend(ReasonForSuspension) final;
ApplePaySetupConfiguration m_configuration;
Optional<SetupFeaturesPromise> m_setupFeaturesPromise;
Optional<BeginPromise> m_beginPromise;
RefPtr<PendingActivity<ApplePaySetup>> m_pendingActivity;
};
}
#endif // ENABLE(APPLE_PAY)