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

Unified Diff: third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h

Issue 2533673002: Added CSSPropertyAPI and CSS padding properties which implement this API (Closed)
Patch Set: format Created 4 years 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
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
new file mode 100644
index 0000000000000000000000000000000000000000..3a62dbf25d4e92263cf24b7c96dab9356ddd6ad6
--- /dev/null
+++ b/third_party/WebKit/Source/core/css/properties/CSSPropertyAPI.h
@@ -0,0 +1,43 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CSSPropertyAPI_h
+#define CSSPropertyAPI_h
+
+#include "core/CSSPropertyNames.h"
+#include "core/css/CSSValue.h"
+#include "core/css/parser/CSSParserMode.h"
+#include "core/css/parser/CSSParserTokenRange.h"
+
+namespace blink {
+
+// We will use this API to represent all functions used for property-specific
+// 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 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.
+class CSSPropertyAPI {
+ STATIC_ONLY(CSSPropertyAPI);
+
+ public:
+ // 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&);
+};
+
+} // namespace blink
+
+#endif // CSSPropertyAPI_h

Powered by Google App Engine
This is Rietveld 408576698