1 // Copyright 2017 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_PARSER_AT_RULE_DESCRIPTOR_PARSER_H_ 6 #define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_PARSER_AT_RULE_DESCRIPTOR_PARSER_H_ 7 8 #include "third_party/blink/renderer/core/css/css_property_value.h" 9 #include "third_party/blink/renderer/core/css/parser/at_rule_descriptors.h" 10 #include "third_party/blink/renderer/platform/wtf/vector.h" 11 12 namespace blink { 13 14 class CSSParserContext; 15 class CSSParserTokenRange; 16 class CSSValue; 17 18 class AtRuleDescriptorParser { 19 STATIC_ONLY(AtRuleDescriptorParser); 20 21 public: 22 static bool ParseAtRule(AtRuleDescriptorID, 23 CSSParserTokenRange&, 24 const CSSParserContext&, 25 HeapVector<CSSPropertyValue, 256>&); 26 static CSSValue* ParseFontFaceDescriptor(AtRuleDescriptorID, 27 CSSParserTokenRange&, 28 const CSSParserContext&); 29 static CSSValue* ParseFontFaceDescriptor(AtRuleDescriptorID, 30 const String& value, 31 const CSSParserContext&); 32 static CSSValue* ParseFontFaceDeclaration(CSSParserTokenRange&, 33 const CSSParserContext&); 34 static CSSValue* ParseAtPropertyDescriptor(AtRuleDescriptorID, 35 CSSParserTokenRange&, 36 const CSSParserContext&); 37 }; 38 39 } // namespace blink 40 41 #endif // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_PARSER_AT_RULE_DESCRIPTOR_PARSER_H_ 42