#include "extensions/renderer/content_setting.h"
#include <string_view>
#include "base/containers/contains.h"
#include "base/strings/stringprintf.h"
#include "base/values.h"
#include "extensions/renderer/bindings/api_binding_types.h"
#include "extensions/renderer/bindings/api_binding_util.h"
#include "extensions/renderer/bindings/api_invocation_errors.h"
#include "extensions/renderer/bindings/api_request_handler.h"
#include "extensions/renderer/bindings/api_signature.h"
#include "extensions/renderer/bindings/api_type_reference_map.h"
#include "extensions/renderer/bindings/binding_access_checker.h"
#include "extensions/renderer/bindings/js_runner.h"
#include "extensions/renderer/console.h"
#include "extensions/renderer/script_context_set.h"
#include "gin/arguments.h"
#include "gin/converter.h"
#include "gin/handle.h"
#include "gin/object_template_builder.h"
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
#include "v8/include/v8-object.h"
namespace extensions {
namespace {
const char* const kDeprecatedTypesToAllow[] = …;
const char* const kDeprecatedTypesToBlock[] = …;
const char* GetForcedValueForDeprecatedSetting(std::string_view type) { … }
bool IsDeprecated(std::string_view type) { … }
}
v8::Local<v8::Object> ContentSetting::Create(
v8::Isolate* isolate,
const std::string& property_name,
const base::Value::List* property_values,
APIRequestHandler* request_handler,
APIEventHandler* event_handler,
APITypeReferenceMap* type_refs,
const BindingAccessChecker* access_checker) { … }
ContentSetting::ContentSetting(APIRequestHandler* request_handler,
const APITypeReferenceMap* type_refs,
const BindingAccessChecker* access_checker,
const std::string& pref_name,
const base::Value::Dict& set_value_spec)
: … { … }
ContentSetting::~ContentSetting() = default;
gin::WrapperInfo ContentSetting::kWrapperInfo = …;
gin::ObjectTemplateBuilder ContentSetting::GetObjectTemplateBuilder(
v8::Isolate* isolate) { … }
const char* ContentSetting::GetTypeName() { … }
void ContentSetting::Get(gin::Arguments* arguments) { … }
void ContentSetting::Set(gin::Arguments* arguments) { … }
void ContentSetting::Clear(gin::Arguments* arguments) { … }
void ContentSetting::GetResourceIdentifiers(gin::Arguments* arguments) { … }
void ContentSetting::HandleFunction(const std::string& method_name,
gin::Arguments* arguments) { … }
}