Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Unified Diff: third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h

Issue 2393513004: Convert app banners to use Mojo. (Closed)
Patch Set: Add TODO Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h
diff --git a/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h b/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h
index c245656243a394bc9fe94c10bd6daa5450a808e9..77c6f171705d28f864f5e5729ea711ebcc3a1f2c 100644
--- a/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h
+++ b/third_party/WebKit/Source/modules/app_banner/BeforeInstallPromptEvent.h
@@ -7,34 +7,39 @@
#include "bindings/core/v8/ScriptPromise.h"
#include "bindings/core/v8/ScriptPromiseProperty.h"
+#include "core/frame/LocalFrame.h"
#include "modules/EventModules.h"
#include "modules/app_banner/AppBannerPromptResult.h"
-#include "platform/heap/Handle.h"
+#include "mojo/public/cpp/bindings/binding.h"
+#include "public/platform/modules/app_banner/app_banner.mojom-blink.h"
+#include <utility>
namespace blink {
class BeforeInstallPromptEvent;
class BeforeInstallPromptEventInit;
-class WebAppBannerClient;
using UserChoiceProperty =
ScriptPromiseProperty<Member<BeforeInstallPromptEvent>,
Member<AppBannerPromptResult>,
ToV8UndefinedGenerator>;
-class BeforeInstallPromptEvent final : public Event {
+class BeforeInstallPromptEvent final : public Event,
+ public mojom::blink::AppBannerEvent {
DEFINE_WRAPPERTYPEINFO();
+ USING_PRE_FINALIZER(BeforeInstallPromptEvent, dispose);
public:
~BeforeInstallPromptEvent() override;
- static BeforeInstallPromptEvent* create(const AtomicString& name,
- ExecutionContext* executionContext,
- const Vector<String>& platforms,
- int requestId,
- WebAppBannerClient* client) {
- return new BeforeInstallPromptEvent(name, executionContext, platforms,
- requestId, client);
+ static BeforeInstallPromptEvent* create(
+ const AtomicString& name,
+ LocalFrame& frame,
+ mojom::blink::AppBannerServicePtr servicePtr,
+ mojom::blink::AppBannerEventRequest eventRequest,
+ const Vector<String>& platforms) {
+ return new BeforeInstallPromptEvent(name, frame, std::move(servicePtr),
+ std::move(eventRequest), platforms);
}
static BeforeInstallPromptEvent* create(
@@ -43,6 +48,8 @@ class BeforeInstallPromptEvent final : public Event {
return new BeforeInstallPromptEvent(name, init);
}
+ void dispose();
+
Vector<String> platforms() const;
ScriptPromise userChoice(ScriptState*);
ScriptPromise prompt(ScriptState*);
@@ -54,19 +61,22 @@ class BeforeInstallPromptEvent final : public Event {
private:
BeforeInstallPromptEvent(const AtomicString& name,
- ExecutionContext*,
- const Vector<String>& platforms,
- int requestId,
- WebAppBannerClient*);
+ LocalFrame&,
+ mojom::blink::AppBannerServicePtr,
+ mojom::blink::AppBannerEventRequest,
+ const Vector<String>& platforms);
BeforeInstallPromptEvent(const AtomicString& name,
const BeforeInstallPromptEventInit&);
- Vector<String> m_platforms;
+ // mojom::blink::AppBannerEvent methods:
+ void BannerAccepted(const String& platform) override;
+ void BannerDismissed() override;
- int m_requestId;
- WebAppBannerClient* m_client;
+ mojom::blink::AppBannerServicePtr m_bannerService;
+ mojo::Binding<mojom::blink::AppBannerEvent> m_binding;
+ Vector<String> m_platforms;
Member<UserChoiceProperty> m_userChoice;
- bool m_registered;
+ bool m_promptCalled;
};
DEFINE_TYPE_CASTS(BeforeInstallPromptEvent,

Powered by Google App Engine
This is Rietveld 408576698