| 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 "core/css/parser/CSSParserImpl.h" | 5 #include "core/css/parser/CSSParserImpl.h" |
| 6 | 6 |
| 7 #include "core/css/CSSCustomIdentValue.h" | 7 #include "core/css/CSSCustomIdentValue.h" |
| 8 #include "core/css/CSSCustomPropertyDeclaration.h" | 8 #include "core/css/CSSCustomPropertyDeclaration.h" |
| 9 #include "core/css/CSSKeyframesRule.h" | 9 #include "core/css/CSSKeyframesRule.h" |
| 10 #include "core/css/CSSStyleSheet.h" | 10 #include "core/css/CSSStyleSheet.h" |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 547 return nullptr; // Parser error; @viewport prelude should be empty | 547 return nullptr; // Parser error; @viewport prelude should be empty |
| 548 | 548 |
| 549 if (m_observerWrapper) { | 549 if (m_observerWrapper) { |
| 550 unsigned endOffset = m_observerWrapper->endOffset(prelude); | 550 unsigned endOffset = m_observerWrapper->endOffset(prelude); |
| 551 m_observerWrapper->observer().startRuleHeader(StyleRule::Viewport, m_obs
erverWrapper->startOffset(prelude)); | 551 m_observerWrapper->observer().startRuleHeader(StyleRule::Viewport, m_obs
erverWrapper->startOffset(prelude)); |
| 552 m_observerWrapper->observer().endRuleHeader(endOffset); | 552 m_observerWrapper->observer().endRuleHeader(endOffset); |
| 553 m_observerWrapper->observer().startRuleBody(endOffset); | 553 m_observerWrapper->observer().startRuleBody(endOffset); |
| 554 m_observerWrapper->observer().endRuleBody(endOffset); | 554 m_observerWrapper->observer().endRuleBody(endOffset); |
| 555 } | 555 } |
| 556 | 556 |
| 557 if (m_styleSheet) |
| 558 m_styleSheet->setHasViewportRule(); |
| 559 |
| 557 consumeDeclarationList(block, StyleRule::Viewport); | 560 consumeDeclarationList(block, StyleRule::Viewport); |
| 558 return StyleRuleViewport::create(createStylePropertySet(m_parsedProperties,
CSSViewportRuleMode)); | 561 return StyleRuleViewport::create(createStylePropertySet(m_parsedProperties,
CSSViewportRuleMode)); |
| 559 } | 562 } |
| 560 | 563 |
| 561 StyleRuleFontFace* CSSParserImpl::consumeFontFaceRule(CSSParserTokenRange prelud
e, CSSParserTokenRange block) | 564 StyleRuleFontFace* CSSParserImpl::consumeFontFaceRule(CSSParserTokenRange prelud
e, CSSParserTokenRange block) |
| 562 { | 565 { |
| 563 prelude.consumeWhitespace(); | 566 prelude.consumeWhitespace(); |
| 564 if (!prelude.atEnd()) | 567 if (!prelude.atEnd()) |
| 565 return nullptr; // Parse error; @font-face prelude should be empty | 568 return nullptr; // Parse error; @font-face prelude should be empty |
| 566 | 569 |
| 567 if (m_observerWrapper) { | 570 if (m_observerWrapper) { |
| 568 unsigned endOffset = m_observerWrapper->endOffset(prelude); | 571 unsigned endOffset = m_observerWrapper->endOffset(prelude); |
| 569 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs
erverWrapper->startOffset(prelude)); | 572 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs
erverWrapper->startOffset(prelude)); |
| 570 m_observerWrapper->observer().endRuleHeader(endOffset); | 573 m_observerWrapper->observer().endRuleHeader(endOffset); |
| 571 m_observerWrapper->observer().startRuleBody(endOffset); | 574 m_observerWrapper->observer().startRuleBody(endOffset); |
| 572 m_observerWrapper->observer().endRuleBody(endOffset); | 575 m_observerWrapper->observer().endRuleBody(endOffset); |
| 573 } | 576 } |
| 574 | 577 |
| 575 if (m_styleSheet) | 578 if (m_styleSheet) |
| 576 m_styleSheet->setHasFontFaceRule(true); | 579 m_styleSheet->setHasFontFaceRule(); |
| 577 | 580 |
| 578 consumeDeclarationList(block, StyleRule::FontFace); | 581 consumeDeclarationList(block, StyleRule::FontFace); |
| 579 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties,
m_context.mode())); | 582 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties,
m_context.mode())); |
| 580 } | 583 } |
| 581 | 584 |
| 582 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS
ParserTokenRange prelude, CSSParserTokenRange block) | 585 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS
ParserTokenRange prelude, CSSParserTokenRange block) |
| 583 { | 586 { |
| 584 prelude.consumeWhitespace(); | 587 prelude.consumeWhitespace(); |
| 585 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks | 588 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks |
| 586 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace(); | 589 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace(); |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 818 else | 821 else |
| 819 return nullptr; // Parser error, invalid value in keyframe selector | 822 return nullptr; // Parser error, invalid value in keyframe selector |
| 820 if (range.atEnd()) | 823 if (range.atEnd()) |
| 821 return result; | 824 return result; |
| 822 if (range.consume().type() != CommaToken) | 825 if (range.consume().type() != CommaToken) |
| 823 return nullptr; // Parser error | 826 return nullptr; // Parser error |
| 824 } | 827 } |
| 825 } | 828 } |
| 826 | 829 |
| 827 } // namespace blink | 830 } // namespace blink |
| OLD | NEW |