Index: Source/modules/app_banner/BeforeInstallPromptEvent.h |
diff --git a/Source/modules/app_banner/BeforeInstallPromptEvent.h b/Source/modules/app_banner/BeforeInstallPromptEvent.h |
index a28d0a55b894c197f2977210271bf028b80185eb..9da892fd7490e441fd65f6cd15390d3b1de96de3 100644 |
--- a/Source/modules/app_banner/BeforeInstallPromptEvent.h |
+++ b/Source/modules/app_banner/BeforeInstallPromptEvent.h |
@@ -6,14 +6,19 @@ |
#define BeforeInstallPromptEvent_h |
#include "bindings/core/v8/ScriptPromise.h" |
+#include "bindings/core/v8/ScriptPromiseProperty.h" |
#include "modules/EventModules.h" |
+#include "modules/app_banner/AppBannerPromptResult.h" |
#include "platform/heap/Handle.h" |
namespace blink { |
+class BeforeInstallPromptEvent; |
class BeforeInstallPromptEventInit; |
class WebAppBannerClient; |
+using UserChoiceProperty = ScriptPromiseProperty<RawPtrWillBeMember<BeforeInstallPromptEvent>, Member<AppBannerPromptResult>, ToV8UndefinedGenerator>; |
+ |
class BeforeInstallPromptEvent final : public Event { |
DEFINE_WRAPPERTYPEINFO(); |
public: |
@@ -25,9 +30,9 @@ public: |
return adoptRefWillBeNoop(new BeforeInstallPromptEvent()); |
} |
- static PassRefPtrWillBeRawPtr<BeforeInstallPromptEvent> create(const AtomicString& name, const Vector<String>& platforms, int requestId, WebAppBannerClient*client) |
+ static PassRefPtrWillBeRawPtr<BeforeInstallPromptEvent> create(const AtomicString& name, ExecutionContext* executionContext, const Vector<String>& platforms, int requestId, WebAppBannerClient* client) |
{ |
- return adoptRefWillBeNoop(new BeforeInstallPromptEvent(name, platforms, requestId, client)); |
+ return adoptRefWillBeNoop(new BeforeInstallPromptEvent(name, executionContext, platforms, requestId, client)); |
} |
static PassRefPtrWillBeRawPtr<BeforeInstallPromptEvent> create(const AtomicString& name, const BeforeInstallPromptEventInit& init) |
@@ -37,22 +42,23 @@ public: |
Vector<String> platforms() const; |
ScriptPromise userChoice(ScriptState*); |
+ ScriptPromise prompt(ScriptState*); |
const AtomicString& interfaceName() const override; |
- ScriptPromise prompt(ScriptState*); |
+ DECLARE_VIRTUAL_TRACE(); |
private: |
BeforeInstallPromptEvent(); |
- BeforeInstallPromptEvent(const AtomicString& name, const Vector<String>& platforms, int requestId, WebAppBannerClient*); |
+ BeforeInstallPromptEvent(const AtomicString& name, ExecutionContext*, const Vector<String>& platforms, int requestId, WebAppBannerClient*); |
BeforeInstallPromptEvent(const AtomicString& name, const BeforeInstallPromptEventInit&); |
Vector<String> m_platforms; |
- ScriptPromise m_userChoice; |
int m_requestId; |
WebAppBannerClient* m_client; |
- bool m_redispatched; |
+ PersistentWillBeMember<UserChoiceProperty> m_userChoice; |
+ bool m_registered; |
}; |
DEFINE_TYPE_CASTS(BeforeInstallPromptEvent, Event, event, event->interfaceName() == EventNames::BeforeInstallPromptEvent, event.interfaceName() == EventNames::BeforeInstallPromptEvent); |