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

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

Issue 2653733005: Added parseShorthand method from the parser to CSSPropertyAPI.h. (Closed)
Patch Set: Moved implementation check into macro in CSSPropertyDescriptor.h 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CSSPropertyAPI_h 5 #ifndef CSSPropertyAPI_h
6 #define CSSPropertyAPI_h 6 #define CSSPropertyAPI_h
7 7
8 #include "core/CSSPropertyNames.h" 8 #include "core/CSSPropertyNames.h"
9 #include "wtf/Allocator.h" 9 #include "wtf/Allocator.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 class CSSValue; 13 class CSSValue;
14 class CSSParserContext; 14 class CSSParserContext;
15 class CSSParserTokenRange; 15 class CSSParserTokenRange;
16 16
17 // We will use this API to represent all functions used for property-specific 17 // We will use this API to represent all functions used for property-specific
18 // logic inside the blink style engine. All specific properties are subclasses 18 // logic inside the blink style engine. All specific properties are subclasses
19 // of CSSPropertyAPI. 19 // of CSSPropertyAPI.
20 // 20 //
21 // To add a new property using this API: 21 // To add a new property using this API:
22 // - Make a class that implements CSSPropertyAPI, and implement the static 22 // - Make a class that implements CSSPropertyAPI, and implement the static
23 // methods. 23 // methods.
24 // - Update the cssPropertyDescriptors array in CSSPropertyDescriptor.cpp to 24 // - Add the api_class flag to the property CSSProperties.in file, with an
25 // call GET_DESCRIPTOR(classname). 25 // optional class name for grouped properties.
26 // 26 //
27 // To add new functions using this API: 27 // To add new functions using this API:
28 // - New functions and static variables can be added in this class. A default 28 // - New functions and static variables can be added in this class.
29 // implementation of functions can optionally be provided. 29 // - When adding new functions, also add them to the initializer list in
30 // - When adding new functions, also add them to GET_DESCRIPTOR, and the get() 30 // the cssPropertyDescriptors in CSSPropertyDescriptor.cpp.tmpl, and add a
31 // method in CSSPropertyDescriptors.cpp, and the descriptor struct in 31 // nullptr to the invalid CSSPropertyDescriptor.
32 // CSSPropertyDescriptor.h. 32
33 class CSSPropertyAPI { 33 class CSSPropertyAPI {
34 STATIC_ONLY(CSSPropertyAPI); 34 STATIC_ONLY(CSSPropertyAPI);
35 35
36 public: 36 public:
37 // Parses a single CSS property and returns the corresponding CSSValue. If the 37 // Parses a single CSS property and returns the corresponding CSSValue. If the
38 // input is invalid it returns nullptr. 38 // input is invalid it returns nullptr.
39 static const CSSValue* parseSingleValue(CSSParserTokenRange&, 39 static const CSSValue* parseSingleValue(CSSParserTokenRange&,
40 const CSSParserContext*); 40 const CSSParserContext*) {
41 NOTREACHED();
42 return nullptr;
43 }
44
45 static bool parseShorthand(bool,
46 CSSParserTokenRange&,
47 const CSSParserContext*) {
48 NOTREACHED();
49 return false;
50 }
41 }; 51 };
42 52
43 } // namespace blink 53 } // namespace blink
44 54
45 #endif // CSSPropertyAPI_h 55 #endif // CSSPropertyAPI_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698