Index: third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h |
diff --git a/third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h |
index 3f73dadffba756012495c4237eef1785fa786950..938a6e0e977603950a0aadbb1591851e1e270c07 100644 |
--- a/third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h |
+++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h |
@@ -18,18 +18,21 @@ class CSSParserTokenRange; |
// logic inside the blink style engine. All specific properties are subclasses |
// of CSSPropertyAPI. |
// |
-// To add a new property using this API: |
-// - Make a class that implements CSSPropertyAPI, and implement the static |
-// methods. |
-// - Update the cssPropertyDescriptors array in CSSPropertyDescriptor.cpp to |
-// call GET_DESCRIPTOR(classname). |
+// To add a new implementation of this API for a property: |
+// - Make a class that implements CSSPropertyAPI. |
+// - For each method that you wish to implement in this class, add this method |
+// name to the api_methods flag in CSSProperties.json5. |
+// - Implement these methods in the .cpp file. |
// |
-// To add new functions using this API: |
-// - New functions and static variables can be added in this class. A default |
-// implementation of functions can optionally be provided. |
-// - When adding new functions, also add them to GET_DESCRIPTOR, and the get() |
-// method in CSSPropertyDescriptors.cpp, and the descriptor struct in |
-// CSSPropertyDescriptor.h. |
+// To add new functions to this API: |
+// - Add the function to the struct below. |
+// - Add the function to CSSPropertyAPIFiles.h.tmpl template file, surrounded |
+// with an {% if "methodName" in implementedMethods %} check. |
+// - Add the function name to the valid_methods array in |
+// make_css_property_apis.py. |
+// - Add function to the initializer list in the cssPropertyDescriptors array |
+// in CSSPropertyDescriptor.cpp.tmpl, and add a nullptr to the invalid |
+// CSSPropertyDescriptor. |
class CSSPropertyAPI { |
STATIC_ONLY(CSSPropertyAPI); |
@@ -37,7 +40,12 @@ class CSSPropertyAPI { |
// Parses a single CSS property and returns the corresponding CSSValue. If the |
// input is invalid it returns nullptr. |
static const CSSValue* parseSingleValue(CSSParserTokenRange&, |
- const CSSParserContext*); |
+ const CSSParserContext*) { |
+ // No code should reach here, since properties either have their own |
+ // implementations of this method or store nullptr in their descriptor. |
+ NOTREACHED(); |
+ return nullptr; |
+ } |
}; |
} // namespace blink |