#include "third_party/blink/renderer/modules/push_messaging/push_provider.h"
#include <utility>
#include "third_party/blink/public/common/thread_safe_browser_interface_broker_proxy.h"
#include "third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom-blink.h"
#include "third_party/blink/public/platform/browser_interface_broker_proxy.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/modules/push_messaging/push_error.h"
#include "third_party/blink/renderer/modules/push_messaging/push_messaging_utils.h"
#include "third_party/blink/renderer/modules/push_messaging/push_subscription.h"
#include "third_party/blink/renderer/modules/push_messaging/push_subscription_options.h"
#include "third_party/blink/renderer/modules/push_messaging/push_type_converter.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread_scheduler.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
namespace blink {
const char PushProvider::kSupplementName[] = …;
PushProvider::PushProvider(ServiceWorkerRegistration& registration)
: … { … }
PushProvider* PushProvider::From(ServiceWorkerRegistration* registration) { … }
mojom::blink::PushMessaging* PushProvider::GetPushMessagingRemote() { … }
void PushProvider::Subscribe(
PushSubscriptionOptions* options,
bool user_gesture,
std::unique_ptr<PushSubscriptionCallbacks> callbacks) { … }
void PushProvider::DidSubscribe(
std::unique_ptr<PushSubscriptionCallbacks> callbacks,
mojom::blink::PushRegistrationStatus status,
mojom::blink::PushSubscriptionPtr subscription) { … }
void PushProvider::Unsubscribe(
std::unique_ptr<PushUnsubscribeCallbacks> callbacks) { … }
void PushProvider::DidUnsubscribe(
std::unique_ptr<PushUnsubscribeCallbacks> callbacks,
mojom::blink::PushErrorType error_type,
bool did_unsubscribe,
const WTF::String& error_message) { … }
void PushProvider::GetSubscription(
std::unique_ptr<PushSubscriptionCallbacks> callbacks) { … }
void PushProvider::Trace(Visitor* visitor) const { … }
void PushProvider::DidGetSubscription(
std::unique_ptr<PushSubscriptionCallbacks> callbacks,
mojom::blink::PushGetRegistrationStatus status,
mojom::blink::PushSubscriptionPtr subscription) { … }
}