#include "extensions/renderer/guest_view/mime_handler_view/post_message_support.h"
#include "base/auto_reset.h"
#include "base/metrics/histogram_functions.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/v8_value_converter.h"
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
#include "gin/arguments.h"
#include "gin/dictionary.h"
#include "gin/handle.h"
#include "gin/interceptor.h"
#include "gin/object_template_builder.h"
#include "gin/wrappable.h"
#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
#include "third_party/blink/public/web/web_frame.h"
#include "third_party/blink/public/web/web_local_frame.h"
namespace extensions {
namespace {
const char kPostMessageName[] = …;
class ScriptableObject : public gin::Wrappable<ScriptableObject>,
public gin::NamedPropertyInterceptor { … };
gin::WrapperInfo ScriptableObject::kWrapperInfo = …;
}
PostMessageSupport::Delegate::Delegate()
: … { … }
PostMessageSupport::Delegate::~Delegate() = default;
PostMessageSupport* PostMessageSupport::FromWebLocalFrame(
blink::WebLocalFrame* web_local_frame) { … }
PostMessageSupport::PostMessageSupport(Delegate* delegate)
: … { … }
PostMessageSupport::~PostMessageSupport() { … }
v8::Local<v8::Object> PostMessageSupport::GetScriptableObject(
v8::Isolate* isolate) { … }
void PostMessageSupport::PostJavaScriptMessage(v8::Isolate* isolate,
v8::Local<v8::Value> message) { … }
void PostMessageSupport::PostMessageFromValue(const base::Value& message) { … }
void PostMessageSupport::SetActive() { … }
}