Commit 47769d57 authored by Kent Tamura's avatar Kent Tamura Committed by Commit Bot

json5_generator: Make 'name' field a NameStyleConverter object

The 'name' field of entries produced by Json5File.load_from_files() was
a str, and this CL makes it a NameStyleConverter object.  The original
string is accessible via |entry['name'].original|, and
|str(entry['name'])|.  This will make filter setup simpler because we
don't need to provide filters for naming style conversion.

* name_style_converter.py:
 - Provide |original| getter, and __str__().
 - Provide __lt__() for sort().
 - Provide __eq__() for groupby().
  Some Jinja2 templates use built-in sort and groupby filters, and it's
  hard to specify key object in templates.

* json5_generator.py
  Sets entry['name'] to a NameStyleConverter object, and remove
  entry['tokenized_name'].

* DEPS
  Clean stale *.pyc in blink/renderer/build/scripts too. Some buildbots
  has media_feature_symbol.pyc in build/scripts/core/css/.

* Other files
 - If code requires a string name, access entry['name'].original.
 - Use entry.name instead of entry.tokenized_name


Bug: 843927
Change-Id: Ic47c90c51c8e88f08307a41b052ecfce971a4545
Reviewed-on: https://chromium-review.googlesource.com/1068575Reviewed-by: default avatarHitoshi Yoshida <peria@chromium.org>
Commit-Queue: Kent Tamura <tkent@chromium.org>
Cr-Commit-Position: refs/heads/master@{#561780}
parent a4244d21
......@@ -1380,6 +1380,7 @@ hooks = [
'src/infra',
'src/ppapi',
'src/printing',
'src/third_party/blink/renderer/build/scripts',
'src/third_party/blink/tools', # See http://crbug.com/625877.
'src/third_party/catapult',
'src/third_party/closure_compiler/build',
......
......@@ -98,6 +98,22 @@ class NameStyleConverter(object):
def __init__(self, name):
self.tokens = tokenize_name(name)
self._original = name
@property
def original(self):
return self._original
def __str__(self):
return self._original
# Make this class workable with sort().
def __lt__(self, other):
return self.original < other.original
# Make this class workable with groupby().
def __eq__(self, other):
return self.original == other.original
def to_snake_case(self):
"""Snake case is the file and variable name style per Google C++ Style
......
......@@ -118,6 +118,9 @@ class SmartTokenizerTest(unittest.TestCase):
class NameStyleConverterTest(unittest.TestCase):
def test_original(self):
self.assertEqual(NameStyleConverter('-webkit-appearance').original, '-webkit-appearance')
def test_snake_case(self):
converter = NameStyleConverter('HTMLElement')
self.assertEqual(converter.to_snake_case(), 'html_element')
......
......@@ -122,9 +122,9 @@ class CSSProperties(object):
# This order must match the order in CSSPropertyPriority.h.
priority_numbers = {'Animation': 0, 'High': 1, 'Low': 2}
priority = priority_numbers[property_['priority']]
name_without_leading_dash = property_['name']
if property_['name'].startswith('-'):
name_without_leading_dash = property_['name'][1:]
name_without_leading_dash = property_['name'].original
if name_without_leading_dash.startswith('-'):
name_without_leading_dash = name_without_leading_dash[1:]
property_['sorting_key'] = (priority, name_without_leading_dash)
sorting_keys = {}
......@@ -134,8 +134,8 @@ class CSSProperties(object):
('Collision detected - two properties have the same name and '
'priority, a potentially non-deterministic ordering can '
'occur: {}, {} and {}'.format(
key, property_['name'], sorting_keys[key]))
sorting_keys[key] = property_['name']
key, property_['name'].original, sorting_keys[key]))
sorting_keys[key] = property_['name'].original
self._longhands.sort(key=lambda p: p['sorting_key'])
self._shorthands.sort(key=lambda p: p['sorting_key'])
......@@ -166,11 +166,11 @@ class CSSProperties(object):
updated_alias['alias_for'] = alias['alias_for']
updated_alias['aliased_property'] = aliased_property['upper_camel_name']
updated_alias['property_id'] = enum_for_css_property_alias(
alias['name'])
alias['name'].original)
updated_alias['enum_value'] = aliased_property['enum_value'] + \
self._alias_offset
updated_alias['upper_camel_name'] = upper_camel_case(alias['name'])
updated_alias['lower_camel_name'] = lower_camel_case(alias['name'])
updated_alias['upper_camel_name'] = upper_camel_case(alias['name'].original)
updated_alias['lower_camel_name'] = lower_camel_case(alias['name'].original)
self._aliases[i] = updated_alias
def expand_parameters(self, property_):
......@@ -179,27 +179,28 @@ class CSSProperties(object):
property_[key] = value
# Basic info.
property_['property_id'] = enum_for_css_property(property_['name'])
property_['upper_camel_name'] = upper_camel_case(property_['name'])
property_['lower_camel_name'] = lower_camel_case(property_['name'])
property_['is_internal'] = property_['name'].startswith('-internal-')
name = property_['name_for_methods']
if not name:
name = upper_camel_case(property_['name']).replace('Webkit', '')
name = property_['name'].original
property_['property_id'] = enum_for_css_property(name)
property_['upper_camel_name'] = upper_camel_case(name)
property_['lower_camel_name'] = lower_camel_case(name)
property_['is_internal'] = name.startswith('-internal-')
method_name = property_['name_for_methods']
if not method_name:
method_name = upper_camel_case(name).replace('Webkit', '')
set_if_none(property_, 'inherited', False)
# Initial function, Getters and Setters for ComputedStyle.
property_['initial'] = 'Initial' + name
property_['initial'] = 'Initial' + method_name
simple_type_name = str(property_['type_name']).split('::')[-1]
set_if_none(property_, 'name_for_methods', name)
set_if_none(property_, 'type_name', 'E' + name)
set_if_none(property_, 'name_for_methods', method_name)
set_if_none(property_, 'type_name', 'E' + method_name)
set_if_none(
property_,
'getter',
name if simple_type_name != name else 'Get' + name)
set_if_none(property_, 'setter', 'Set' + name)
method_name if simple_type_name != method_name else 'Get' + method_name)
set_if_none(property_, 'setter', 'Set' + method_name)
if property_['inherited']:
property_['is_inherited_setter'] = 'Set' + name + 'IsInherited'
property_['is_inherited_setter'] = 'Set' + method_name + 'IsInherited'
# Figure out whether we should generate style builder implementations.
for x in ['initial', 'inherit', 'value']:
......
......@@ -24,10 +24,10 @@ class CSSValueKeywordsWriter(json5_generator.Writer):
self._value_keywords = self.json5_file.name_dictionaries
first_keyword_id = 1
for offset, keyword in enumerate(self._value_keywords):
keyword['lower_name'] = keyword['name'].lower()
keyword['enum_name'] = enum_for_css_keyword(keyword['name'])
keyword['lower_name'] = keyword['name'].original.lower()
keyword['enum_name'] = enum_for_css_keyword(keyword['name'].original)
keyword['enum_value'] = first_keyword_id + offset
if keyword['name'].startswith('-internal-'):
if keyword['name'].original.startswith('-internal-'):
assert keyword['mode'] is None, 'Can\'t specify mode for ' \
'value keywords with the prefix "-internal-".'
keyword['mode'] = 'UASheet'
......@@ -42,7 +42,7 @@ class CSSValueKeywordsWriter(json5_generator.Writer):
'value_keywords': self._value_keywords,
'value_keywords_count': self._keyword_count,
'max_value_keyword_length':
max(len(keyword['name']) for keyword in self._value_keywords),
max(len(keyword['name'].original) for keyword in self._value_keywords),
}
def _value_keywords_with_mode(self, mode):
......@@ -59,7 +59,7 @@ class CSSValueKeywordsWriter(json5_generator.Writer):
current_offset = 0
for keyword in self._value_keywords:
keyword_offsets.append(current_offset)
current_offset += len(keyword["name"]) + 1
current_offset += len(keyword["name"].original) + 1
return {
'value_keywords': self._value_keywords,
......
......@@ -65,7 +65,7 @@ class StylePropertyShorthandWriter(json5_generator.Writer):
# alphabetically
longhands.sort(
key=lambda property_: (
-len(property_['longhand_property_ids']), property_['name'])
-len(property_['longhand_property_ids']), property_['name'].original)
)
@template_expander.use_jinja(
......
......@@ -39,12 +39,12 @@ class AtRuleNamesWriter(json5_generator.Writer):
self._longest_name_length = 0
for offset, descriptor in enumerate(self._descriptors):
descriptor['upper_camel_name'] = upper_camel_case(
descriptor['name'])
descriptor['name'].original)
descriptor['enum_value'] = first_descriptor_id + offset
self._character_offsets.append(chars_used)
chars_used += len(descriptor['name'])
chars_used += len(descriptor['name'].original)
self._longest_name_length = max(
len(descriptor['name']),
len(descriptor['name'].original),
len(descriptor['alias']),
self._longest_name_length)
......
......@@ -32,8 +32,8 @@ class CSSPropertiesWriter(CSSPropertyBaseWriter):
property_methods = json5_generator.Json5File.load_from_files(
[json5_file_paths[2]])
for property_method in property_methods.name_dictionaries:
self._property_methods[property_method['name']] = PropertyMethod(
name=property_method['name'],
self._property_methods[property_method['name'].original] = PropertyMethod(
name=property_method['name'].original,
return_type=property_method['return_type'],
parameters=property_method['parameters'],
)
......
......@@ -159,8 +159,7 @@ class Json5File(object):
def _get_entry(self, item):
entry = copy.deepcopy(self._defaults)
if type(item) is not dict:
entry["name"] = item
entry["tokenized_name"] = NameStyleConverter(entry["name"])
entry["name"] = NameStyleConverter(item)
return entry
if "name" not in item:
raise Exception("Missing name in item: %s" % item)
......@@ -168,8 +167,7 @@ class Json5File(object):
entry.update(item)
return entry
assert "name" not in self.parameters, "The parameter 'name' is reserved, use a different name."
entry["name"] = item.pop("name")
entry["tokenized_name"] = NameStyleConverter(entry["name"])
entry["name"] = NameStyleConverter(item.pop("name"))
# Validate parameters if it's specified.
for key, value in item.items():
if key not in self.parameters:
......
......@@ -20,7 +20,7 @@ def sort_keyword_properties_by_canonical_order(css_properties, css_value_keyword
[css_value_keywords_file],
default_parameters=json5_file_parameters
).name_dictionaries
css_values_dictionary = [x['name'] for x in css_values_dictionary]
css_values_dictionary = [x['name'].original for x in css_values_dictionary]
name_to_position_dictionary = dict(zip(css_values_dictionary, range(len(css_values_dictionary))))
for css_property in css_properties:
if css_property['field_template'] == 'keyword' and len(css_property['include_paths']) == 0:
......
......@@ -160,7 +160,7 @@ def _create_diff_groups_map(diff_function_inputs, root_group):
"Please check that there's an entry for '{}' in" \
"CSSProperties.json5 or " \
"ComputedStyleExtraFields.json5".format(name, name)
diff_functions_map[entry['name']] = _create_diff_groups(
diff_functions_map[entry['name'].original] = _create_diff_groups(
entry['fields_to_diff'], entry['methods_to_diff'],
entry['predicates_to_test'], root_group)
return diff_functions_map
......@@ -268,7 +268,7 @@ def _create_property_field(property_):
return Field(
'property',
name_for_methods,
property_name=property_['name'],
property_name=property_['name'].original,
inherited=property_['inherited'],
independent=property_['independent'],
type_name=property_['type_name'],
......@@ -297,7 +297,7 @@ def _create_inherited_flag_field(property_):
return Field(
'inherited_flag',
name_for_methods,
property_name=property_['name'],
property_name=property_['name'].original,
type_name='bool',
wrapper_pointer_name=None,
field_template='primitive',
......@@ -436,18 +436,18 @@ def _evaluate_rare_non_inherited_group(properties, properties_ranking,
if (property_["field_group"] is not None and
"*" in property_["field_group"]
and not property_["inherited"] and
property_["name"] in properties_ranking):
property_["name"].original in properties_ranking):
assert property_["field_group"] == "*", \
"The property {} will be automatically assigned a group, " \
"please put '*' as the field_group".format(property_['name'])
property_["field_group"] = "->".join(
layers_name[0:properties_ranking[property_["name"]]])
layers_name[0:properties_ranking[property_["name"].original]])
elif property_["field_group"] is not None and \
"*" in property_["field_group"] and \
not property_["inherited"] and \
property_["name"] not in properties_ranking:
property_["name"].original not in properties_ranking:
group_tree = property_["field_group"].split("->")[1:]
group_tree = [layers_name[0], layers_name[0] + "-sub"] + group_tree
property_["field_group"] = "->".join(group_tree)
......@@ -486,13 +486,13 @@ def _evaluate_rare_inherit_group(properties, properties_ranking,
if property_["field_group"] is not None and \
"*" in property_["field_group"] \
and property_["inherited"] and \
property_["name"] in properties_ranking:
property_["name"].original in properties_ranking:
property_["field_group"] = "->".join(
layers_name[0:properties_ranking[property_["name"]]])
layers_name[0:properties_ranking[property_["name"].original]])
elif property_["field_group"] is not None and \
"*" in property_["field_group"] \
and property_["inherited"] and \
property_["name"] not in properties_ranking:
property_["name"].original not in properties_ranking:
group_tree = property_["field_group"].split("->")[1:]
group_tree = [layers_name[0], layers_name[0] + "-sub"] + group_tree
property_["field_group"] = "->".join(group_tree)
......@@ -532,7 +532,7 @@ class ComputedStyleBaseWriter(json5_generator.Writer):
[json5_file_paths[6]]).name_dictionaries])
properties_ranking = [
x["name"] for x in json5_generator.Json5File.load_from_files(
x["name"].original for x in json5_generator.Json5File.load_from_files(
[json5_file_paths[5]]).name_dictionaries
]
_evaluate_rare_non_inherited_group(
......
......@@ -14,7 +14,7 @@ class UnitTrieWriter(json5_generator.Writer):
def __init__(self, json5_file_paths, output_dir):
super(UnitTrieWriter, self).__init__(json5_file_paths, output_dir)
self._units = {entry['name']: entry['unit_type'] for entry in self.json5_file.name_dictionaries}
self._units = {entry['name'].original: entry['unit_type'] for entry in self.json5_file.name_dictionaries}
self._outputs = {
'css_primitive_value_unit_trie.cc': self.generate_implementation
......
......@@ -50,7 +50,7 @@ class CSSPropertyNamesWriter(json5_generator.Writer):
def generate_implementation(self):
enum_value_to_name = {}
for property_ in self._css_properties.properties_including_aliases:
enum_value_to_name[property_['enum_value']] = property_['name']
enum_value_to_name[property_['enum_value']] = property_['name'].original
property_offsets = []
property_names = []
current_offset = 0
......@@ -63,7 +63,7 @@ class CSSPropertyNamesWriter(json5_generator.Writer):
current_offset += len(name) + 1
css_name_and_enum_pairs = [
(property_['name'], property_['property_id'])
(property_['name'].original, property_['property_id'])
for property_ in self._css_properties.properties_including_aliases]
return {
......
......@@ -121,7 +121,8 @@ class CSSValueIDMappingsWriter(make_style_builder.StyleBuilderWriter):
[self.css_values_dictionary_file],
default_parameters=self.default_parameters
).name_dictionaries
name_to_position_dictionary = dict(zip([x['name'] for x in css_values_dictionary], range(len(css_values_dictionary))))
name_to_position_dictionary = dict(zip([x['name'].original for x in css_values_dictionary],
range(len(css_values_dictionary))))
for property_ in self.css_properties.properties_including_aliases:
include_paths.update(property_['include_paths'])
......
......@@ -99,7 +99,7 @@ class MakeElementFactoryWriter(MakeQualifiedNamesWriter):
def _interface(self, tag):
if tag['interfaceName']:
return tag['interfaceName']
name = tag['tokenized_name'].to_upper_camel_case()
name = tag['name'].to_upper_camel_case()
# FIXME: We shouldn't hard-code HTML here.
if name == 'HTML':
name = 'Html'
......
......@@ -58,7 +58,7 @@ class ElementLookupTrieWriter(json5_generator.Writer):
super(ElementLookupTrieWriter, self).__init__(json5_file_paths, output_dir)
self._tags = {}
for entry in self.json5_file.name_dictionaries:
self._tags[entry['name']] = entry['name']
self._tags[entry['name'].original] = entry['name'].original
self._namespace = self.json5_file.metadata['namespace'].strip('"')
basename = self._namespace.lower() + '_element_lookup_trie'
self._outputs = {
......
......@@ -91,7 +91,7 @@ class MakeElementTypeHelpersWriter(json5_generator.Writer):
def _interface(self, tag):
if tag['interfaceName']:
return tag['interfaceName']
name = tag['tokenized_name'].to_upper_camel_case()
name = tag['name'].to_upper_camel_case()
# FIXME: We shouldn't hard-code HTML here.
if name == 'HTML':
name = 'Html'
......
......@@ -121,13 +121,13 @@ class EventFactoryWriter(json5_generator.Writer):
exit(1)
def _headers_header_include_path(self, entry):
path = os.path.dirname(entry['name'])
path = os.path.dirname(entry['name'].original)
if len(path):
path += '/'
if entry['ImplementedAs']:
path += self.get_file_basename(entry['ImplementedAs'])
else:
path += self.get_file_basename(os.path.basename(entry['name']))
path += self.get_file_basename(os.path.basename(entry['name'].original))
return path + '.h'
def _headers_header_includes(self, entries):
......
......@@ -44,7 +44,7 @@ class MakeInternalSettingsWriter(json5_generator.Writer):
def __init__(self, json5_file_path, output_dir):
super(MakeInternalSettingsWriter, self).__init__(json5_file_path, output_dir)
self.json5_file.name_dictionaries.sort(key=lambda entry: entry['name'])
self.json5_file.name_dictionaries.sort(key=lambda entry: entry['name'].original)
self._outputs = {
'internal_settings_generated.h': self.generate_header,
......
......@@ -39,8 +39,8 @@ def _symbol(entry):
if entry['Symbol'] is not None:
return entry['Symbol']
# FIXME: Remove this special case for the ugly x-webkit-foo attributes.
if entry['name'].startswith('-webkit-'):
return entry['name'].replace('-', '_')[1:]
if entry['name'].original.startswith('-webkit-'):
return entry['name'].original.replace('-', '_')[1:]
return name_utilities.cpp_name(entry).replace('-', '_').replace(' ', '_')
......
......@@ -55,7 +55,7 @@ class OriginTrialsWriter(make_runtime_features.RuntimeFeatureWriter):
# have a trial defined.
implied_by_trials = []
for implied_by_name in implied_feature['implied_by']:
if any(implied_by_name == feature['name']
if any(implied_by_name == feature['name'].original
for feature in self._origin_trial_features):
implied_by_trials.append(implied_by_name)
......@@ -67,7 +67,7 @@ class OriginTrialsWriter(make_runtime_features.RuntimeFeatureWriter):
if implied_list is None:
implied_list = set()
implied_mappings[implied_by_name] = implied_list
implied_list.add(implied_feature['name'])
implied_list.add(implied_feature['name'].original)
implied_feature['implied_by_origin_trials'] = implied_by_trials
......
......@@ -40,7 +40,7 @@ from json5_generator import Json5File
def _symbol(entry):
return entry['name'].replace('-', '_')
return entry['name'].original.replace('-', '_')
class MakeQualifiedNamesWriter(json5_generator.Writer):
......
......@@ -49,7 +49,7 @@ class RuntimeFeatureWriter(json5_generator.Writer):
self._features = self.json5_file.name_dictionaries
# Make sure the resulting dictionaries have all the keys we expect.
for feature in self._features:
feature['class_member_name'] = class_member_name(feature['name'])
feature['class_member_name'] = class_member_name(feature['name'].original)
# Most features just check their isFooEnabled bool
# but some depend on or are implied by other bools.
enabled_condition = 'is_%senabled_' % feature['class_member_name']
......
......@@ -65,7 +65,7 @@ class MakeSettingsWriter(json5_generator.Writer):
def __init__(self, json5_file_path, output_dir):
super(MakeSettingsWriter, self).__init__(json5_file_path, output_dir)
self.json5_file.name_dictionaries.sort(key=lambda entry: entry['name'])
self.json5_file.name_dictionaries.sort(key=lambda entry: entry['name'].original)
self._outputs = {
('settings_macros.h'): self.generate_macros,
......
......@@ -4,7 +4,7 @@
def mediaFeatureSymbol(entry, suffix):
name = entry['name']
name = entry['name'].original
if name.startswith('-webkit-'):
name = name[8:]
......
......@@ -52,7 +52,7 @@ def to_macro_style(name):
def script_name(entry):
return os.path.basename(entry['name'])
return os.path.basename(entry['name'].original)
def cpp_bool(value):
......
......@@ -30,7 +30,7 @@ class InternalRuntimeFlags : public ScriptWrappable {
{% endfor %}
{% for feature in standard_features %}
bool {{feature.tokenized_name.to_lower_camel_case()}}Enabled() {
bool {{feature.name.to_lower_camel_case()}}Enabled() {
{% if feature.origin_trial_feature_name %}
return RuntimeEnabledFeatures::{{feature.name}}EnabledByRuntimeFlag();
{% else %}
......
......@@ -7,9 +7,9 @@ interface InternalRuntimeFlags {
{% for feature in standard_features %}
{%+ if feature.condition %}[Conditional={{feature.condition}}] {% endif -%}
{% if feature.settable_from_internals %}
attribute boolean {{feature.tokenized_name.to_lower_camel_case()}}Enabled;
attribute boolean {{feature.name.to_lower_camel_case()}}Enabled;
{% else %}
readonly attribute boolean {{feature.tokenized_name.to_lower_camel_case()}}Enabled;
readonly attribute boolean {{feature.name.to_lower_camel_case()}}Enabled;
{% endif %}
{% endfor %}
};
......@@ -13,7 +13,7 @@ namespace blink {
InternalSettingsGenerated::InternalSettingsGenerated(Page* page)
: m_page(page)
{% for setting in settings if setting.type|to_idl_type %}
, m_{{setting.name}}(page->GetSettings().Get{{setting.tokenized_name.to_upper_camel_case()}}())
, m_{{setting.name}}(page->GetSettings().Get{{setting.name.to_upper_camel_case()}}())
{% endfor %}
{
}
......@@ -22,13 +22,13 @@ InternalSettingsGenerated::~InternalSettingsGenerated() {}
void InternalSettingsGenerated::resetToConsistentState() {
{% for setting in settings if setting.type|to_idl_type %}
m_page->GetSettings().Set{{setting.tokenized_name.to_upper_camel_case()}}(m_{{setting.name}});
m_page->GetSettings().Set{{setting.name.to_upper_camel_case()}}(m_{{setting.name}});
{% endfor %}
}
{% for setting in settings if setting.type|to_idl_type %}
void InternalSettingsGenerated::set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}) {
m_page->GetSettings().Set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.name}});
void InternalSettingsGenerated::set{{setting.name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}) {
m_page->GetSettings().Set{{setting.name.to_upper_camel_case()}}({{setting.name}});
}
{% endfor %}
......
......@@ -24,7 +24,7 @@ class InternalSettingsGenerated : public ScriptWrappable {
virtual ~InternalSettingsGenerated();
void resetToConsistentState();
{% for setting in settings if setting.type|to_idl_type %}
void set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}});
void set{{setting.name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}});
{% endfor %}
void Trace(Visitor*) override;
......
......@@ -5,6 +5,6 @@
interface InternalSettingsGenerated {
{% for setting in settings if setting.type|to_idl_type %}
void set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.type|to_idl_type}} {{setting.name}});
void set{{setting.name.to_upper_camel_case()}}({{setting.type|to_idl_type}} {{setting.name}});
{% endfor %}
};
......@@ -70,7 +70,7 @@ void init() {
{% set attrnames = attrs|map(attribute='name')|list() %}
static const NameEntry kNames[] = {
{% for name, tag_list in (tags + attrs)|groupby('name')|sort(attribute=0, case_sensitive=True) %}
{ "{{name}}", {{name|hash}}, {{name|length}}, {{ (name in tagnames)|int }}, {{ (name in attrnames)|int }} },
{ "{{name}}", {{name.original|hash}}, {{name.original|length}}, {{ (name in tagnames)|int }}, {{ (name in attrnames)|int }} },
{% endfor %}
};
......
......@@ -19,7 +19,7 @@ const char OriginTrials::k{{feature.name}}TrialName[] = "{{feature.origin_trial_
{% for feature in features %}
{% if feature.origin_trial_feature_name %}
bool OriginTrials::{{feature.tokenized_name.to_lower_camel_case()}}Enabled(const ExecutionContext* executionContext) {
bool OriginTrials::{{feature.name.to_lower_camel_case()}}Enabled(const ExecutionContext* executionContext) {
if (RuntimeEnabledFeatures::{{feature.name}}EnabledByRuntimeFlag())
return true;
{% if feature.origin_trial_os %}
......
......@@ -27,7 +27,7 @@ CORE_EXPORT extern const char k{{feature.name}}TrialName[];
{% for feature in features %}
{% if feature.origin_trial_feature_name %}
CORE_EXPORT bool {{feature.tokenized_name.to_lower_camel_case()}}Enabled(const ExecutionContext*);
CORE_EXPORT bool {{feature.name.to_lower_camel_case()}}Enabled(const ExecutionContext*);
{% endif %}
{% endfor %}
......
......@@ -8,8 +8,8 @@
#define SETTINGS_GETTERS_AND_SETTERS \
{% for setting in settings %}
{{setting.type|to_passing_type}} Get{{setting.tokenized_name.to_upper_camel_case()}}() const { return {{setting.name}}_; } \
void Set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}); \
{{setting.type|to_passing_type}} Get{{setting.name.to_upper_camel_case()}}() const { return {{setting.name}}_; } \
void Set{{setting.name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}); \
{% endfor %}
void SetFromStrings(const String& name, const String& value);
// End of SETTINGS_GETTERS_AND_SETTERS.
......@@ -34,7 +34,7 @@
#define SETTINGS_SETTER_BODIES \
{% for setting in settings %}
void Settings::Set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}) { \
void Settings::Set{{setting.name.to_upper_camel_case()}}({{setting.type|to_passing_type}} {{setting.name}}) { \
if ({{setting.name}}_ == {{setting.name}}) \
return; \
{{setting.name}}_ = {{setting.name}}; \
......@@ -46,7 +46,7 @@ void Settings::Set{{setting.tokenized_name.to_upper_camel_case()}}({{setting.typ
void Settings::SetFromStrings(const String& name, const String& value) { \
{% for setting in settings %}
if (name == "{{setting.name}}") { \
Set{{setting.tokenized_name.to_upper_camel_case()}}( \
Set{{setting.name.to_upper_camel_case()}}( \
{% if setting.type == 'String' %}
value \
{% elif setting.type == 'bool' %}
......
......@@ -85,17 +85,17 @@ def produce_partition_rule(config_file, css_ranking_api):
[float(i) / total_css_properties for i in range(total_css_properties)]))
css_properties = json5_generator.Json5File.load_from_files([CSS_PROPERTIES]).name_dictionaries
rare_non_inherited_properties = sorted([(x["name"], css_ranking_dictionary[x["name"]])
rare_non_inherited_properties = sorted([(x["name"].original, css_ranking_dictionary[x["name"].original])
for x in css_properties if not x["inherited"]
and x["field_group"] is not None
and "*" in x["field_group"]
and x["name"] in css_ranking_dictionary],
and x["name"].original in css_ranking_dictionary],
key=lambda x: -x[1])
rare_inherited_properties = sorted([(x["name"], css_ranking_dictionary[x["name"]])
rare_inherited_properties = sorted([(x["name"].original, css_ranking_dictionary[x["name"].original])
for x in css_properties if x["inherited"]
and x["field_group"] is not None
and "*" in x["field_group"]
and x["name"] in css_ranking_dictionary],
and x["name"].original in css_ranking_dictionary],
key=lambda x: -x[1])
rni_properties_rule = find_partition_rule(rare_non_inherited_properties,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment