| OLD | NEW |
| 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 #include "config.h" | 5 #include "config.h" |
| 6 #include "core/css/parser/CSSParserImpl.h" | 6 #include "core/css/parser/CSSParserImpl.h" |
| 7 | 7 |
| 8 #include "core/css/CSSKeyframesRule.h" | 8 #include "core/css/CSSKeyframesRule.h" |
| 9 #include "core/css/CSSStyleSheet.h" | 9 #include "core/css/CSSStyleSheet.h" |
| 10 #include "core/css/StylePropertySet.h" | 10 #include "core/css/StylePropertySet.h" |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 return nullptr; // Parse error, failed to consume rule | 118 return nullptr; // Parse error, failed to consume rule |
| 119 range.consumeWhitespace(); | 119 range.consumeWhitespace(); |
| 120 if (!rule || !range.atEnd()) | 120 if (!rule || !range.atEnd()) |
| 121 return nullptr; // Parse error, trailing garbage | 121 return nullptr; // Parse error, trailing garbage |
| 122 return rule; | 122 return rule; |
| 123 } | 123 } |
| 124 | 124 |
| 125 void CSSParserImpl::parseStyleSheet(const String& string, const CSSParserContext
& context, StyleSheetContents* styleSheet) | 125 void CSSParserImpl::parseStyleSheet(const String& string, const CSSParserContext
& context, StyleSheetContents* styleSheet) |
| 126 { | 126 { |
| 127 TRACE_EVENT_BEGIN2( | 127 TRACE_EVENT_BEGIN2( |
| 128 "blink", "CSSParserImpl::parseStyleSheet", | 128 "blink,blink_style", "CSSParserImpl::parseStyleSheet", |
| 129 "baseUrl", context.baseURL().string().utf8(), | 129 "baseUrl", context.baseURL().string().utf8(), |
| 130 "mode", context.mode()); | 130 "mode", context.mode()); |
| 131 | 131 |
| 132 TRACE_EVENT_BEGIN0("blink", "CSSParserImpl::parseStyleSheet.tokenize"); | 132 TRACE_EVENT_BEGIN0("blink,blink_style", "CSSParserImpl::parseStyleSheet.toke
nize"); |
| 133 CSSTokenizer::Scope scope(string); | 133 CSSTokenizer::Scope scope(string); |
| 134 TRACE_EVENT_END0("blink", "CSSParserImpl::parseStyleSheet.tokenize"); | 134 TRACE_EVENT_END0("blink,blink_style", "CSSParserImpl::parseStyleSheet.tokeni
ze"); |
| 135 | 135 |
| 136 TRACE_EVENT_BEGIN0("blink", "CSSParserImpl::parseStyleSheet.parse"); | 136 TRACE_EVENT_BEGIN0("blink,blink_style", "CSSParserImpl::parseStyleSheet.pars
e"); |
| 137 CSSParserImpl parser(context, styleSheet); | 137 CSSParserImpl parser(context, styleSheet); |
| 138 bool firstRuleValid = parser.consumeRuleList(scope.tokenRange(), TopLevelRul
eList, [&styleSheet](PassRefPtrWillBeRawPtr<StyleRuleBase> rule) { | 138 bool firstRuleValid = parser.consumeRuleList(scope.tokenRange(), TopLevelRul
eList, [&styleSheet](PassRefPtrWillBeRawPtr<StyleRuleBase> rule) { |
| 139 if (rule->isCharsetRule()) | 139 if (rule->isCharsetRule()) |
| 140 return; | 140 return; |
| 141 styleSheet->parserAppendRule(rule); | 141 styleSheet->parserAppendRule(rule); |
| 142 }); | 142 }); |
| 143 styleSheet->setHasSyntacticallyValidCSSHeader(firstRuleValid); | 143 styleSheet->setHasSyntacticallyValidCSSHeader(firstRuleValid); |
| 144 TRACE_EVENT_END0("blink", "CSSParserImpl::parseStyleSheet.parse"); | 144 TRACE_EVENT_END0("blink,blink_style", "CSSParserImpl::parseStyleSheet.parse"
); |
| 145 | 145 |
| 146 TRACE_EVENT_END2( | 146 TRACE_EVENT_END2( |
| 147 "blink", "CSSParserImpl::parseStyleSheet", | 147 "blink,blink_style", "CSSParserImpl::parseStyleSheet", |
| 148 "tokenCount", scope.tokenCount(), | 148 "tokenCount", scope.tokenCount(), |
| 149 "length", string.length()); | 149 "length", string.length()); |
| 150 } | 150 } |
| 151 | 151 |
| 152 PassOwnPtr<Vector<double>> CSSParserImpl::parseKeyframeKeyList(const String& key
List) | 152 PassOwnPtr<Vector<double>> CSSParserImpl::parseKeyframeKeyList(const String& key
List) |
| 153 { | 153 { |
| 154 return consumeKeyframeKeyList(CSSTokenizer::Scope(keyList).tokenRange()); | 154 return consumeKeyframeKeyList(CSSTokenizer::Scope(keyList).tokenRange()); |
| 155 } | 155 } |
| 156 | 156 |
| 157 bool CSSParserImpl::supportsDeclaration(CSSParserTokenRange& range) | 157 bool CSSParserImpl::supportsDeclaration(CSSParserTokenRange& range) |
| (...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 746 else | 746 else |
| 747 return nullptr; // Parser error, invalid value in keyframe selector | 747 return nullptr; // Parser error, invalid value in keyframe selector |
| 748 if (range.atEnd()) | 748 if (range.atEnd()) |
| 749 return result.release(); | 749 return result.release(); |
| 750 if (range.consume().type() != CommaToken) | 750 if (range.consume().type() != CommaToken) |
| 751 return nullptr; // Parser error | 751 return nullptr; // Parser error |
| 752 } | 752 } |
| 753 } | 753 } |
| 754 | 754 |
| 755 } // namespace blink | 755 } // namespace blink |
| OLD | NEW |