Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / Source / build / scripts / templates / EventFactory.cpp.tmpl
blob108d1cef85f071b346da8b82a43aa5e191819b7d
1 {% from 'macros.tmpl' import license %}
2 {{license()}}
4 #include "config.h"
5 {% if suffix == 'Modules' %}
6 #include "modules/{{namespace}}{{suffix}}Factory.h"
7 {% else %}
8 #include "core/events/{{namespace}}Factory.h"
9 {% endif %}
11 #include "{{namespace}}{{suffix}}Headers.h"
12 #include "platform/RuntimeEnabledFeatures.h"
14 namespace blink {
16 PassRefPtrWillBeRawPtr<{{namespace}}> {{namespace}}{{suffix}}Factory::create(const String& type)
18     {% for event in events %}
19     {% filter enable_conditional(event.Conditional) %}
20     {% if event|script_name|case_insensitive_matching %}
21     if (equalIgnoringCase(type, "{{event|script_name}}"){% if event.RuntimeEnabled %} && RuntimeEnabledFeatures::{{event.RuntimeEnabled|lower_first}}(){% endif %})
22     {% else %}
23     if (type == "{{event|script_name}}"{% if event.RuntimeEnabled %} && RuntimeEnabledFeatures::{{event.RuntimeEnabled|lower_first}}(){% endif %})
24     {% endif %}
25         return {{event|cpp_name}}::create();
26     {% endfilter %}
27     {% endfor %}
28     return nullptr;
31 } // namespace blink