| 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
|
|
|