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

Side by Side Diff: third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp

Issue 1913833002: Current work-in-progress crbug.com/567021 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More assert fixes Created 4 years, 6 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 #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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698