blob: 420328e08c92713b32463c168b1d0332c952fc00 [file] [log] [blame]
{% include 'copyright_block.txt' %}
#ifndef {{v8_class_or_partial}}_h
#define {{v8_class_or_partial}}_h
{% for filename in header_includes %}
#include "{{filename}}"
{% endfor %}
namespace blink {
{% if attributes|origin_trial_enabled_attributes %}
class ScriptState;
{% endif %}
class {{v8_class_or_partial}} {
STATIC_ONLY({{v8_class_or_partial}});
public:
static void initialize();
{% for method in methods if method.is_custom %}
static void {{method.name}}MethodCustom(const v8::FunctionCallbackInfo<v8::Value>&);
{% endfor %}
{% for attribute in attributes %}
{% if attribute.has_custom_getter %}{# FIXME: and not attribute.implemented_by #}
static void {{attribute.name}}AttributeGetterCustom(const v8::PropertyCallbackInfo<v8::Value>&);
{% endif %}
{% if attribute.has_custom_setter %}{# FIXME: and not attribute.implemented_by #}
static void {{attribute.name}}AttributeSetterCustom(v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&);
{% endif %}
{% endfor %}
{# Custom internal fields #}
static void preparePrototypeAndInterfaceObject(v8::Local<v8::Context>, const DOMWrapperWorld&, v8::Local<v8::Object>, v8::Local<v8::Function>, v8::Local<v8::FunctionTemplate>);
{% for origin_trial_feature in origin_trial_features %}{{newline}}
static void install{{origin_trial_feature.name}}(ScriptState*, v8::Local<v8::Object> instance);
{% if not origin_trial_feature.needs_instance %}
static void install{{origin_trial_feature.name}}(ScriptState*);
{% endif %}
{% endfor %}
private:
static void install{{v8_class}}Template(v8::Isolate*, const DOMWrapperWorld&, v8::Local<v8::FunctionTemplate> interfaceTemplate);
};
}
#endif // {{v8_class_or_partial}}_h