blob: 0ad387c545025549a9b78a195bfa27c1b8115d6d [file]
{% from 'macros.tmpl' import license %}
{{license()}}
#include "platform/RuntimeEnabledFeatures.h"
#include "wtf/Assertions.h"
#include "wtf/text/WTFString.h"
namespace blink {
RuntimeEnabledFeatures::Backup::Backup()
:
{% for feature in standard_features %}
{%+ if not loop.first %}, {% endif -%}m_{{feature.first_lowered_name}}(RuntimeEnabledFeatures::{{feature.first_lowered_name}}Enabled())
{% endfor %}
{
}
void RuntimeEnabledFeatures::Backup::restore() {
{% for feature in standard_features %}
RuntimeEnabledFeatures::set{{feature.name}}Enabled(m_{{feature.first_lowered_name}});
{% endfor %}
}
{% for feature_set in feature_sets %}
void RuntimeEnabledFeatures::set{{feature_set|capitalize}}FeaturesEnabled(bool enable) {
{% for feature in features if feature.status == feature_set %}
set{{feature.name}}Enabled(enable);
{% endfor %}
}
{% endfor %}
void RuntimeEnabledFeatures::setFeatureEnabledFromString(
const std::string& name, bool isEnabled) {
{% for feature in standard_features %}
if (name == "{{feature.name}}") {
set{{feature.name}}Enabled(isEnabled);
return;
}
{% endfor %}
DLOG(ERROR) << "RuntimeEnabledFeature not recognized: " << name;
}
{% for feature in standard_features %}
bool RuntimeEnabledFeatures::is{{feature.name}}Enabled = {{'true' if feature.status == 'stable' else 'false'}};
{% endfor %}
} // namespace blink