#include "extensions/renderer/bindings/api_binding_util.h"
#include "base/check_op.h"
#include "base/notreached.h"
#include "base/observer_list.h"
#include "base/supports_user_data.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "extensions/renderer/bindings/get_per_context_data.h"
#include "extensions/renderer/bindings/js_runner.h"
#include "gin/converter.h"
#include "gin/per_context_data.h"
namespace extensions {
namespace binding {
namespace {
bool g_response_validation_enabled = …;
#else
false;
#endif
}
class ContextInvalidationData : public base::SupportsUserData::Data { … };
constexpr char ContextInvalidationData::kPerContextDataKey[];
ContextInvalidationData::ContextInvalidationData() = default;
ContextInvalidationData::~ContextInvalidationData() { … }
void ContextInvalidationData::AddListener(
ContextInvalidationListener* listener) { … }
void ContextInvalidationData::RemoveListener(
ContextInvalidationListener* listener) { … }
void ContextInvalidationData::Invalidate() { … }
bool IsContextValid(v8::Local<v8::Context> context) { … }
bool IsContextValidOrThrowError(v8::Local<v8::Context> context) { … }
void InvalidateContext(v8::Local<v8::Context> context) { … }
std::string GetPlatformString() { … }
ContextInvalidationListener::ContextInvalidationListener(
v8::Local<v8::Context> context,
base::OnceClosure on_invalidated)
: … { … }
ContextInvalidationListener::~ContextInvalidationListener() { … }
void ContextInvalidationListener::OnInvalidated() { … }
bool IsResponseValidationEnabled() { … }
std::unique_ptr<base::AutoReset<bool>> SetResponseValidationEnabledForTesting(
bool is_enabled) { … }
}
}