blob: 0f3827f53d7034a6b154fe11995e86252f2d7dc8 [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 "modules/EventModulesFactory.h"
{% else %}
#include "core/events/EventFactory.h"
{% endif %}
#include "Event{{suffix}}Headers.h"
#include "core/frame/Deprecation.h"
#include "platform/RuntimeEnabledFeatures.h"
namespace blink {
Event* Event{{suffix}}Factory::Create(ExecutionContext* executionContext, const String& type) {
{% for event in events if event|script_name|create_event_whitelist or event|script_name|create_event_measure_whitelist %}
{% if event|script_name|create_event_whitelist or event|script_name|create_event_measure_whitelist %}
if (DeprecatedEqualIgnoringCase(type, "{{event|script_name}}"){% if event.RuntimeEnabled %} && RuntimeEnabledFeatures::{{event.RuntimeEnabled}}(){% endif %}) {
{% else %}
if (type == "{{event|script_name}}"{% if event.RuntimeEnabled %} && RuntimeEnabledFeatures::{{event.RuntimeEnabled}}(){% endif %}) {
{% endif %}
{% if not event|script_name|create_event_whitelist %}
UseCounter::Count(executionContext, WebFeature::k{{event|script_name|measure_name}});
{% endif %}
return {{event|cpp_name}}::Create();
}
{% endfor %}
return nullptr;
}
} // namespace blink