#ifndef ANDROID_WEBVIEW_JS_SANDBOX_SERVICE_MESSAGE_EVENT_H_
#define ANDROID_WEBVIEW_JS_SANDBOX_SERVICE_MESSAGE_EVENT_H_
#include "base/android/jni_android.h"
#include "gin/wrappable.h"
#include "v8/include/v8-array-buffer.h"
#include "v8/include/v8-local-handle.h"
#include "v8/include/v8-traced-handle.h"
namespace android_webview {
class MessageEvent : public gin::Wrappable<MessageEvent> {
public:
static constexpr gin::WrapperInfo kWrapperInfo = {{gin::kEmbedderNativeGin},
gin::kJsMessageEvent};
gin::ObjectTemplateBuilder GetObjectTemplateBuilder(
v8::Isolate* isolate) override;
const gin::WrapperInfo* wrapper_info() const override;
MessageEvent(v8::Isolate* isolate, v8::Local<v8::Value> data);
~MessageEvent() override;
v8::Local<v8::Value> GetData(v8::Isolate* isolate) const;
void Trace(cppgc::Visitor* visitor) const override;
private:
v8::TracedReference<v8::Value> data_;
};
}
#endif