Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2054)

Unified Diff: third_party/WebKit/Source/build/scripts/make_css_property_apis.py

Issue 2654403003: Added api_methods flag to CSSProperties.json5. (Closed)
Patch Set: Removed parseShorthand from valid_methods Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/build/scripts/templates/CSSPropertyAPIFiles.h.tmpl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/build/scripts/make_css_property_apis.py
diff --git a/third_party/WebKit/Source/build/scripts/make_css_property_apis.py b/third_party/WebKit/Source/build/scripts/make_css_property_apis.py
index 35ee4a2bb4944b2127cf5ce56f14a3296dd057d4..ced7439c0d68938437e1a63889331c17a5904e9d 100755
--- a/third_party/WebKit/Source/build/scripts/make_css_property_apis.py
+++ b/third_party/WebKit/Source/build/scripts/make_css_property_apis.py
@@ -11,7 +11,6 @@ import make_style_builder
from collections import namedtuple, defaultdict
-
# Gets the classname for a given property.
def get_classname(property):
if property['api_class'] is True:
@@ -25,6 +24,10 @@ def get_classname(property):
class CSSPropertyAPIWriter(make_style_builder.StyleBuilderWriter):
def __init__(self, json5_file_path):
+ # Holds names of all valid methods in the API. When a new method is added
+ # to the API, it must also be added to this list.
+ valid_methods = ["parseSingleValue"]
+
super(CSSPropertyAPIWriter, self).__init__(json5_file_path)
self._outputs = {
'CSSPropertyDescriptor.cpp': self.generate_property_descriptor_cpp,
@@ -37,7 +40,10 @@ class CSSPropertyAPIWriter(make_style_builder.StyleBuilderWriter):
continue
classname = get_classname(property)
properties_for_class[classname].append(property['property_id'])
- self._outputs[classname + '.h'] = self.generate_property_api_h_builder(classname)
+ for method in property['api_methods']:
+ assert method in valid_methods, 'Invalid method ' + method + \
+ '. Methods added to the API must also be added to list of valid methods.'
nainar 2017/01/31 03:21:19 valid methods -> valid_methods
+ self._outputs[classname + '.h'] = self.generate_property_api_h_builder(classname, property['api_methods'])
# Stores a list of classes with elements (index, classname, [propertyIDs, ..]).
self._api_classes = []
@@ -58,11 +64,12 @@ class CSSPropertyAPIWriter(make_style_builder.StyleBuilderWriter):
# Provides a function object given the classname of the property.
# This returned function generates a .h file for the specified property.
- def generate_property_api_h_builder(self, api_classname):
+ def generate_property_api_h_builder(self, api_classname, implemented_functions):
@template_expander.use_jinja('CSSPropertyAPIFiles.h.tmpl')
def generate_property_api_h():
return {
'api_classname': api_classname,
+ 'implemented_functions': implemented_functions,
}
return generate_property_api_h
« no previous file with comments | « no previous file | third_party/WebKit/Source/build/scripts/templates/CSSPropertyAPIFiles.h.tmpl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698