chromium/third_party/blink/renderer/modules/push_messaging/push_subscription_callbacks.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_PUSH_MESSAGING_PUSH_SUBSCRIPTION_CALLBACKS_H_
#define THIRD_PARTY_BLINK_RENDERER_MODULES_PUSH_MESSAGING_PUSH_SUBSCRIPTION_CALLBACKS_H_

#include "third_party/blink/public/platform/web_callbacks.h"
#include "third_party/blink/renderer/platform/heap/persistent.h"

namespace blink {

class DOMException;
class PushSubscription;
class ScriptPromiseResolverBase;

// Used from PushProvider, for calls to PushMessaging::Unsubscribe().
PushUnsubscribeCallbacks;

// This class is an implementation of WebCallbacks<PushSubscription*,
// DOMException*> that will resolve the underlying promise depending on the
// constructor and will pass it to the PushSubscription.
class PushSubscriptionCallbacks final
    : public WebCallbacks<PushSubscription*, DOMException*> {};

}  // namespace blink

#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_PUSH_MESSAGING_PUSH_SUBSCRIPTION_CALLBACKS_H_