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 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 HeapVector<Member<StyleRuleBase>> rules; | 498 HeapVector<Member<StyleRuleBase>> rules; |
499 | 499 |
500 if (m_observerWrapper) { | 500 if (m_observerWrapper) { |
501 CSSParserTokenRange preludeWithoutWhitespace = prelude; | 501 CSSParserTokenRange preludeWithoutWhitespace = prelude; |
502 preludeWithoutWhitespace.consumeWhitespace(); | 502 preludeWithoutWhitespace.consumeWhitespace(); |
503 m_observerWrapper->observer().startRuleHeader(StyleRule::Media, m_observ
erWrapper->startOffset(preludeWithoutWhitespace)); | 503 m_observerWrapper->observer().startRuleHeader(StyleRule::Media, m_observ
erWrapper->startOffset(preludeWithoutWhitespace)); |
504 m_observerWrapper->observer().endRuleHeader(m_observerWrapper->endOffset
(preludeWithoutWhitespace)); | 504 m_observerWrapper->observer().endRuleHeader(m_observerWrapper->endOffset
(preludeWithoutWhitespace)); |
505 m_observerWrapper->observer().startRuleBody(m_observerWrapper->previousT
okenStartOffset(block)); | 505 m_observerWrapper->observer().startRuleBody(m_observerWrapper->previousT
okenStartOffset(block)); |
506 } | 506 } |
507 | 507 |
| 508 if (m_styleSheet) |
| 509 m_styleSheet->setHasMediaQueries(); |
| 510 |
508 consumeRuleList(block, RegularRuleList, [&rules](StyleRuleBase* rule) { | 511 consumeRuleList(block, RegularRuleList, [&rules](StyleRuleBase* rule) { |
509 rules.append(rule); | 512 rules.append(rule); |
510 }); | 513 }); |
511 | 514 |
512 if (m_observerWrapper) | 515 if (m_observerWrapper) |
513 m_observerWrapper->observer().endRuleBody(m_observerWrapper->endOffset(b
lock)); | 516 m_observerWrapper->observer().endRuleBody(m_observerWrapper->endOffset(b
lock)); |
514 | 517 |
515 return StyleRuleMedia::create(MediaQueryParser::parseMediaQuerySet(prelude),
rules); | 518 return StyleRuleMedia::create(MediaQueryParser::parseMediaQuerySet(prelude),
rules); |
516 } | 519 } |
517 | 520 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
568 | 571 |
569 if (m_observerWrapper) { | 572 if (m_observerWrapper) { |
570 unsigned endOffset = m_observerWrapper->endOffset(prelude); | 573 unsigned endOffset = m_observerWrapper->endOffset(prelude); |
571 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs
erverWrapper->startOffset(prelude)); | 574 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs
erverWrapper->startOffset(prelude)); |
572 m_observerWrapper->observer().endRuleHeader(endOffset); | 575 m_observerWrapper->observer().endRuleHeader(endOffset); |
573 m_observerWrapper->observer().startRuleBody(endOffset); | 576 m_observerWrapper->observer().startRuleBody(endOffset); |
574 m_observerWrapper->observer().endRuleBody(endOffset); | 577 m_observerWrapper->observer().endRuleBody(endOffset); |
575 } | 578 } |
576 | 579 |
577 if (m_styleSheet) | 580 if (m_styleSheet) |
578 m_styleSheet->setHasFontFaceRule(true); | 581 m_styleSheet->setHasFontFaceRule(); |
579 | 582 |
580 consumeDeclarationList(block, StyleRule::FontFace); | 583 consumeDeclarationList(block, StyleRule::FontFace); |
581 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties,
m_context.mode())); | 584 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties,
m_context.mode())); |
582 } | 585 } |
583 | 586 |
584 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS
ParserTokenRange prelude, CSSParserTokenRange block) | 587 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS
ParserTokenRange prelude, CSSParserTokenRange block) |
585 { | 588 { |
586 prelude.consumeWhitespace(); | 589 prelude.consumeWhitespace(); |
587 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks | 590 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks |
588 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace(); | 591 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace(); |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 else | 823 else |
821 return nullptr; // Parser error, invalid value in keyframe selector | 824 return nullptr; // Parser error, invalid value in keyframe selector |
822 if (range.atEnd()) | 825 if (range.atEnd()) |
823 return result; | 826 return result; |
824 if (range.consume().type() != CommaToken) | 827 if (range.consume().type() != CommaToken) |
825 return nullptr; // Parser error | 828 return nullptr; // Parser error |
826 } | 829 } |
827 } | 830 } |
828 | 831 |
829 } // namespace blink | 832 } // namespace blink |
OLD | NEW |