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

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParser.h

Issue 1645433002: Basic implementation of @apply (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix expted.txt for failing test Created 4 years, 9 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 CSSParser_h 5 #ifndef CSSParser_h
6 #define CSSParser_h 6 #define CSSParser_h
7 7
8 #include "core/CSSPropertyNames.h" 8 #include "core/CSSPropertyNames.h"
9 #include "core/CoreExport.h" 9 #include "core/CoreExport.h"
10 #include "core/css/CSSValue.h" 10 #include "core/css/CSSValue.h"
11 #include "core/css/parser/CSSParserMode.h" 11 #include "core/css/parser/CSSParserMode.h"
12 #include "platform/graphics/Color.h" 12 #include "platform/graphics/Color.h"
13 13
14 namespace blink { 14 namespace blink {
15 15
16 class CSSParserObserver; 16 class CSSParserObserver;
17 class CSSParserTokenRange;
17 class CSSSelectorList; 18 class CSSSelectorList;
18 class Element; 19 class Element;
19 class ImmutableStylePropertySet; 20 class ImmutableStylePropertySet;
20 class MutableStylePropertySet; 21 class MutableStylePropertySet;
21 class StyleColor; 22 class StyleColor;
22 class StyleRuleBase; 23 class StyleRuleBase;
23 class StyleRuleKeyframe; 24 class StyleRuleKeyframe;
24 class StyleSheetContents; 25 class StyleSheetContents;
25 26
26 // This class serves as the public API for the css/parser subsystem 27 // This class serves as the public API for the css/parser subsystem
27 class CORE_EXPORT CSSParser { 28 class CORE_EXPORT CSSParser {
28 STATIC_ONLY(CSSParser); 29 STATIC_ONLY(CSSParser);
29 public: 30 public:
30 // As well as regular rules, allows @import and @namespace but not @charset 31 // As well as regular rules, allows @import and @namespace but not @charset
31 static PassRefPtrWillBeRawPtr<StyleRuleBase> parseRule(const CSSParserContex t&, StyleSheetContents*, const String&); 32 static PassRefPtrWillBeRawPtr<StyleRuleBase> parseRule(const CSSParserContex t&, StyleSheetContents*, const String&);
32 static void parseSheet(const CSSParserContext&, StyleSheetContents*, const S tring&); 33 static void parseSheet(const CSSParserContext&, StyleSheetContents*, const S tring&);
33 static CSSSelectorList parseSelector(const CSSParserContext&, StyleSheetCont ents*, const String&); 34 static CSSSelectorList parseSelector(const CSSParserContext&, StyleSheetCont ents*, const String&);
34 static CSSSelectorList parsePageSelector(const CSSParserContext&, StyleSheet Contents*, const String&); 35 static CSSSelectorList parsePageSelector(const CSSParserContext&, StyleSheet Contents*, const String&);
35 static bool parseDeclarationList(const CSSParserContext&, MutableStyleProper tySet*, const String&); 36 static bool parseDeclarationList(const CSSParserContext&, MutableStyleProper tySet*, const String&);
36 // Returns whether anything was changed. 37 // Returns whether anything was changed.
37 static bool parseValue(MutableStylePropertySet*, CSSPropertyID unresolvedPro perty, const String&, bool important, StyleSheetContents*); 38 static bool parseValue(MutableStylePropertySet*, CSSPropertyID unresolvedPro perty, const String&, bool important, StyleSheetContents*);
38 39
39 static bool parseValueForCustomProperty(MutableStylePropertySet*, const Atom icString& propertyName, const String& value, bool important, StyleSheetContents* ); 40 static bool parseValueForCustomProperty(MutableStylePropertySet*, const Atom icString& propertyName, const String& value, bool important, StyleSheetContents* );
41 static PassRefPtrWillBeRawPtr<ImmutableStylePropertySet> parseCustomProperty Set(CSSParserTokenRange);
40 42
41 // This is for non-shorthands only 43 // This is for non-shorthands only
42 static PassRefPtrWillBeRawPtr<CSSValue> parseSingleValue(CSSPropertyID, cons t String&, const CSSParserContext& = strictCSSParserContext()); 44 static PassRefPtrWillBeRawPtr<CSSValue> parseSingleValue(CSSPropertyID, cons t String&, const CSSParserContext& = strictCSSParserContext());
43 45
44 static PassRefPtrWillBeRawPtr<CSSValue> parseFontFaceDescriptor(CSSPropertyI D, const String&, const CSSParserContext&); 46 static PassRefPtrWillBeRawPtr<CSSValue> parseFontFaceDescriptor(CSSPropertyI D, const String&, const CSSParserContext&);
45 47
46 static PassRefPtrWillBeRawPtr<ImmutableStylePropertySet> parseInlineStyleDec laration(const String&, Element*); 48 static PassRefPtrWillBeRawPtr<ImmutableStylePropertySet> parseInlineStyleDec laration(const String&, Element*);
47 49
48 static PassOwnPtr<Vector<double>> parseKeyframeKeyList(const String&); 50 static PassOwnPtr<Vector<double>> parseKeyframeKeyList(const String&);
49 static PassRefPtrWillBeRawPtr<StyleRuleKeyframe> parseKeyframeRule(const CSS ParserContext&, const String&); 51 static PassRefPtrWillBeRawPtr<StyleRuleKeyframe> parseKeyframeRule(const CSS ParserContext&, const String&);
50 52
51 static bool parseSupportsCondition(const String&); 53 static bool parseSupportsCondition(const String&);
52 54
53 // The color will only be changed when string contains a valid CSS color, so callers 55 // The color will only be changed when string contains a valid CSS color, so callers
54 // can set it to a default color and ignore the boolean result. 56 // can set it to a default color and ignore the boolean result.
55 static bool parseColor(Color&, const String&, bool strict = false); 57 static bool parseColor(Color&, const String&, bool strict = false);
56 static bool parseSystemColor(Color&, const String&); 58 static bool parseSystemColor(Color&, const String&);
57 59
58 static void parseSheetForInspector(const CSSParserContext&, StyleSheetConten ts*, const String&, CSSParserObserver&); 60 static void parseSheetForInspector(const CSSParserContext&, StyleSheetConten ts*, const String&, CSSParserObserver&);
59 static void parseDeclarationListForInspector(const CSSParserContext&, const String&, CSSParserObserver&); 61 static void parseDeclarationListForInspector(const CSSParserContext&, const String&, CSSParserObserver&);
60 62
61 private: 63 private:
62 static bool parseValue(MutableStylePropertySet*, CSSPropertyID unresolvedPro perty, const String&, bool important, const CSSParserContext&); 64 static bool parseValue(MutableStylePropertySet*, CSSPropertyID unresolvedPro perty, const String&, bool important, const CSSParserContext&);
63 }; 65 };
64 66
65 } // namespace blink 67 } // namespace blink
66 68
67 #endif // CSSParser_h 69 #endif // CSSParser_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698