blob: 6337f875d1a481d143e55247328ece407ece9f4e [file] [log] [blame]
{% from 'templates/macros.tmpl' import license, source_files_for_generated_file %}
{{license()}}
{{source_files_for_generated_file(template_file, input_files)}}
{% if suffix == 'Modules' %}
#include "third_party/blink/renderer/modules/event_modules_factory.h"
{% else %}
#include "third_party/blink/renderer/core/events/event_factory.h"
{% endif %}
{% for header_path in include_header_paths %}
#include "{{header_path}}"
{% endfor %}
namespace blink {
Event* Event{{suffix}}Factory::Create(ExecutionContext* executionContext, const String& type) {
{% for event in events %}
if (EqualIgnoringASCIICase(type, "{{event|name}}"){% if event.RuntimeEnabled %} && RuntimeEnabledFeatures::{{event.RuntimeEnabled}}(){% endif %}) {
{% if not event|name|create_event_ignore_case_list %}
UseCounter::Count(executionContext, WebFeature::k{{event|name|measure_name}});
{% endif %}
return {{event|cpp_name}}::Create();
}
{% endfor %}
return nullptr;
}
} // namespace blink