summaryrefslogtreecommitdiff
path: root/chromium/third_party/WebKit/Source/build/scripts/templates/InternalRuntimeFlags.h.tmpl
blob: c2d1a36836bbd6d41dc493f1262bd75244a33657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{% from "macros.tmpl" import wrap_with_condition, license -%}
{{ license() }}

#ifndef InternalRuntimeFlags_h
#define InternalRuntimeFlags_h

#include "RuntimeEnabledFeatures.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefPtr.h"
#include "wtf/RefCounted.h"

namespace WebCore {

class InternalRuntimeFlags : public RefCounted<InternalRuntimeFlags> {
public:
    static PassRefPtr<InternalRuntimeFlags> create()
    {
        return adoptRef(new InternalRuntimeFlags);
    }

{#-
    Setting after startup does not work for most runtime flags, but we
    could add an option to print setters for ones which do:
    void set{{feature.name}}Enabled(bool isEnabled) { RuntimeEnabledFeatures::set{{feature.name}}Enabled(isEnabled); }
    If we do that, we also need to respect Internals::resetToConsistentState.
#}
{% for feature in features if not feature.custom %}
{%- call wrap_with_condition(feature.condition) %}
    bool {{feature.first_lowered_name}}Enabled() { return RuntimeEnabledFeatures::{{feature.first_lowered_name}}Enabled(); }
{%- endcall %}
{% endfor %}

private:
    InternalRuntimeFlags() { }
};

} // namespace WebCore

#endif // InternalRuntimeFlags_h