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

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

Issue 2210643002: Consolidate consumeWhitespace calls to one line (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 callback(rule); 351 callback(rule);
352 } 352 }
353 } 353 }
354 354
355 return firstRuleValid; 355 return firstRuleValid;
356 } 356 }
357 357
358 StyleRuleBase* CSSParserImpl::consumeAtRule(CSSParserTokenRange& range, AllowedR ulesType allowedRules) 358 StyleRuleBase* CSSParserImpl::consumeAtRule(CSSParserTokenRange& range, AllowedR ulesType allowedRules)
359 { 359 {
360 ASSERT(range.peek().type() == AtKeywordToken); 360 ASSERT(range.peek().type() == AtKeywordToken);
361 const StringView name = range.consume().value(); 361 const StringView name = range.consumeIncludingWhitespace().value();
362 const CSSParserToken* preludeStart = &range.peek(); 362 const CSSParserToken* preludeStart = &range.peek();
363 while (!range.atEnd() && range.peek().type() != LeftBraceToken && range.peek ().type() != SemicolonToken) 363 while (!range.atEnd() && range.peek().type() != LeftBraceToken && range.peek ().type() != SemicolonToken)
364 range.consumeComponentValue(); 364 range.consumeComponentValue();
365 365
366 CSSParserTokenRange prelude = range.makeSubRange(preludeStart, &range.peek() ); 366 CSSParserTokenRange prelude = range.makeSubRange(preludeStart, &range.peek() );
367 CSSAtRuleID id = cssAtRuleID(name); 367 CSSAtRuleID id = cssAtRuleID(name);
368 if (id != CSSAtRuleInvalid && m_context.useCounter()) 368 if (id != CSSAtRuleInvalid && m_context.useCounter())
369 countAtRule(m_context.useCounter(), id); 369 countAtRule(m_context.useCounter(), id);
370 370
371 if (range.atEnd() || range.peek().type() == SemicolonToken) { 371 if (range.atEnd() || range.peek().type() == SemicolonToken) {
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 CSSParserTokenRange contents = range.consumeBlock(); 446 CSSParserTokenRange contents = range.consumeBlock();
447 const CSSParserToken& uri = contents.consumeIncludingWhitespace(); 447 const CSSParserToken& uri = contents.consumeIncludingWhitespace();
448 if (uri.type() == BadStringToken || !contents.atEnd()) 448 if (uri.type() == BadStringToken || !contents.atEnd())
449 return AtomicString(); 449 return AtomicString();
450 DCHECK_EQ(uri.type(), StringToken); 450 DCHECK_EQ(uri.type(), StringToken);
451 return uri.value().toAtomicString(); 451 return uri.value().toAtomicString();
452 } 452 }
453 453
454 StyleRuleCharset* CSSParserImpl::consumeCharsetRule(CSSParserTokenRange prelude) 454 StyleRuleCharset* CSSParserImpl::consumeCharsetRule(CSSParserTokenRange prelude)
455 { 455 {
456 prelude.consumeWhitespace();
457 const CSSParserToken& string = prelude.consumeIncludingWhitespace(); 456 const CSSParserToken& string = prelude.consumeIncludingWhitespace();
458 if (string.type() != StringToken || !prelude.atEnd()) 457 if (string.type() != StringToken || !prelude.atEnd())
459 return nullptr; // Parse error, expected a single string 458 return nullptr; // Parse error, expected a single string
460 return StyleRuleCharset::create(); 459 return StyleRuleCharset::create();
461 } 460 }
462 461
463 StyleRuleImport* CSSParserImpl::consumeImportRule(CSSParserTokenRange prelude) 462 StyleRuleImport* CSSParserImpl::consumeImportRule(CSSParserTokenRange prelude)
464 { 463 {
465 prelude.consumeWhitespace();
466 AtomicString uri(consumeStringOrURI(prelude)); 464 AtomicString uri(consumeStringOrURI(prelude));
467 if (uri.isNull()) 465 if (uri.isNull())
468 return nullptr; // Parse error, expected string or URI 466 return nullptr; // Parse error, expected string or URI
469 467
470 if (m_observerWrapper) { 468 if (m_observerWrapper) {
471 unsigned endOffset = m_observerWrapper->endOffset(prelude); 469 unsigned endOffset = m_observerWrapper->endOffset(prelude);
472 m_observerWrapper->observer().startRuleHeader(StyleRule::Import, m_obser verWrapper->startOffset(prelude)); 470 m_observerWrapper->observer().startRuleHeader(StyleRule::Import, m_obser verWrapper->startOffset(prelude));
473 m_observerWrapper->observer().endRuleHeader(endOffset); 471 m_observerWrapper->observer().endRuleHeader(endOffset);
474 m_observerWrapper->observer().startRuleBody(endOffset); 472 m_observerWrapper->observer().startRuleBody(endOffset);
475 m_observerWrapper->observer().endRuleBody(endOffset); 473 m_observerWrapper->observer().endRuleBody(endOffset);
476 } 474 }
477 475
478 return StyleRuleImport::create(uri, MediaQueryParser::parseMediaQuerySet(pre lude)); 476 return StyleRuleImport::create(uri, MediaQueryParser::parseMediaQuerySet(pre lude));
479 } 477 }
480 478
481 StyleRuleNamespace* CSSParserImpl::consumeNamespaceRule(CSSParserTokenRange prel ude) 479 StyleRuleNamespace* CSSParserImpl::consumeNamespaceRule(CSSParserTokenRange prel ude)
482 { 480 {
483 prelude.consumeWhitespace();
484 AtomicString namespacePrefix; 481 AtomicString namespacePrefix;
485 if (prelude.peek().type() == IdentToken) 482 if (prelude.peek().type() == IdentToken)
486 namespacePrefix = prelude.consumeIncludingWhitespace().value().toAtomicS tring(); 483 namespacePrefix = prelude.consumeIncludingWhitespace().value().toAtomicS tring();
487 484
488 AtomicString uri(consumeStringOrURI(prelude)); 485 AtomicString uri(consumeStringOrURI(prelude));
489 prelude.consumeWhitespace();
490 if (uri.isNull() || !prelude.atEnd()) 486 if (uri.isNull() || !prelude.atEnd())
491 return nullptr; // Parse error, expected string or URI 487 return nullptr; // Parse error, expected string or URI
492 488
493 return StyleRuleNamespace::create(namespacePrefix, uri); 489 return StyleRuleNamespace::create(namespacePrefix, uri);
494 } 490 }
495 491
496 StyleRuleMedia* CSSParserImpl::consumeMediaRule(CSSParserTokenRange prelude, CSS ParserTokenRange block) 492 StyleRuleMedia* CSSParserImpl::consumeMediaRule(CSSParserTokenRange prelude, CSS ParserTokenRange block)
497 { 493 {
498 HeapVector<Member<StyleRuleBase>> rules; 494 HeapVector<Member<StyleRuleBase>> rules;
499 495
500 if (m_observerWrapper) { 496 if (m_observerWrapper) {
501 CSSParserTokenRange preludeWithoutWhitespace = prelude; 497 m_observerWrapper->observer().startRuleHeader(StyleRule::Media, m_observ erWrapper->startOffset(prelude));
502 preludeWithoutWhitespace.consumeWhitespace(); 498 m_observerWrapper->observer().endRuleHeader(m_observerWrapper->endOffset (prelude));
503 m_observerWrapper->observer().startRuleHeader(StyleRule::Media, m_observ erWrapper->startOffset(preludeWithoutWhitespace));
504 m_observerWrapper->observer().endRuleHeader(m_observerWrapper->endOffset (preludeWithoutWhitespace));
505 m_observerWrapper->observer().startRuleBody(m_observerWrapper->previousT okenStartOffset(block)); 499 m_observerWrapper->observer().startRuleBody(m_observerWrapper->previousT okenStartOffset(block));
506 } 500 }
507 501
508 if (m_styleSheet) 502 if (m_styleSheet)
509 m_styleSheet->setHasMediaQueries(); 503 m_styleSheet->setHasMediaQueries();
510 504
511 consumeRuleList(block, RegularRuleList, [&rules](StyleRuleBase* rule) { 505 consumeRuleList(block, RegularRuleList, [&rules](StyleRuleBase* rule) {
512 rules.append(rule); 506 rules.append(rule);
513 }); 507 });
514 508
(...skipping 25 matching lines...) Expand all
540 534
541 return StyleRuleSupports::create(prelude.serialize().stripWhiteSpace(), supp orted, rules); 535 return StyleRuleSupports::create(prelude.serialize().stripWhiteSpace(), supp orted, rules);
542 } 536 }
543 537
544 StyleRuleViewport* CSSParserImpl::consumeViewportRule(CSSParserTokenRange prelud e, CSSParserTokenRange block) 538 StyleRuleViewport* CSSParserImpl::consumeViewportRule(CSSParserTokenRange prelud e, CSSParserTokenRange block)
545 { 539 {
546 // Allow @viewport rules from UA stylesheets even if the feature is disabled . 540 // Allow @viewport rules from UA stylesheets even if the feature is disabled .
547 if (!RuntimeEnabledFeatures::cssViewportEnabled() && !isUASheetBehavior(m_co ntext.mode())) 541 if (!RuntimeEnabledFeatures::cssViewportEnabled() && !isUASheetBehavior(m_co ntext.mode()))
548 return nullptr; 542 return nullptr;
549 543
550 prelude.consumeWhitespace();
551 if (!prelude.atEnd()) 544 if (!prelude.atEnd())
552 return nullptr; // Parser error; @viewport prelude should be empty 545 return nullptr; // Parser error; @viewport prelude should be empty
553 546
554 if (m_observerWrapper) { 547 if (m_observerWrapper) {
555 unsigned endOffset = m_observerWrapper->endOffset(prelude); 548 unsigned endOffset = m_observerWrapper->endOffset(prelude);
556 m_observerWrapper->observer().startRuleHeader(StyleRule::Viewport, m_obs erverWrapper->startOffset(prelude)); 549 m_observerWrapper->observer().startRuleHeader(StyleRule::Viewport, m_obs erverWrapper->startOffset(prelude));
557 m_observerWrapper->observer().endRuleHeader(endOffset); 550 m_observerWrapper->observer().endRuleHeader(endOffset);
558 m_observerWrapper->observer().startRuleBody(endOffset); 551 m_observerWrapper->observer().startRuleBody(endOffset);
559 m_observerWrapper->observer().endRuleBody(endOffset); 552 m_observerWrapper->observer().endRuleBody(endOffset);
560 } 553 }
561 554
562 consumeDeclarationList(block, StyleRule::Viewport); 555 consumeDeclarationList(block, StyleRule::Viewport);
563 return StyleRuleViewport::create(createStylePropertySet(m_parsedProperties, CSSViewportRuleMode)); 556 return StyleRuleViewport::create(createStylePropertySet(m_parsedProperties, CSSViewportRuleMode));
564 } 557 }
565 558
566 StyleRuleFontFace* CSSParserImpl::consumeFontFaceRule(CSSParserTokenRange prelud e, CSSParserTokenRange block) 559 StyleRuleFontFace* CSSParserImpl::consumeFontFaceRule(CSSParserTokenRange prelud e, CSSParserTokenRange block)
567 { 560 {
568 prelude.consumeWhitespace();
569 if (!prelude.atEnd()) 561 if (!prelude.atEnd())
570 return nullptr; // Parse error; @font-face prelude should be empty 562 return nullptr; // Parse error; @font-face prelude should be empty
571 563
572 if (m_observerWrapper) { 564 if (m_observerWrapper) {
573 unsigned endOffset = m_observerWrapper->endOffset(prelude); 565 unsigned endOffset = m_observerWrapper->endOffset(prelude);
574 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs erverWrapper->startOffset(prelude)); 566 m_observerWrapper->observer().startRuleHeader(StyleRule::FontFace, m_obs erverWrapper->startOffset(prelude));
575 m_observerWrapper->observer().endRuleHeader(endOffset); 567 m_observerWrapper->observer().endRuleHeader(endOffset);
576 m_observerWrapper->observer().startRuleBody(endOffset); 568 m_observerWrapper->observer().startRuleBody(endOffset);
577 m_observerWrapper->observer().endRuleBody(endOffset); 569 m_observerWrapper->observer().endRuleBody(endOffset);
578 } 570 }
579 571
580 if (m_styleSheet) 572 if (m_styleSheet)
581 m_styleSheet->setHasFontFaceRule(); 573 m_styleSheet->setHasFontFaceRule();
582 574
583 consumeDeclarationList(block, StyleRule::FontFace); 575 consumeDeclarationList(block, StyleRule::FontFace);
584 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties, m_context.mode())); 576 return StyleRuleFontFace::create(createStylePropertySet(m_parsedProperties, m_context.mode()));
585 } 577 }
586 578
587 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS ParserTokenRange prelude, CSSParserTokenRange block) 579 StyleRuleKeyframes* CSSParserImpl::consumeKeyframesRule(bool webkitPrefixed, CSS ParserTokenRange prelude, CSSParserTokenRange block)
588 { 580 {
589 prelude.consumeWhitespace();
590 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks 581 CSSParserTokenRange rangeCopy = prelude; // For inspector callbacks
591 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace(); 582 const CSSParserToken& nameToken = prelude.consumeIncludingWhitespace();
592 if (!prelude.atEnd()) 583 if (!prelude.atEnd())
593 return nullptr; // Parse error; expected single non-whitespace token in @keyframes header 584 return nullptr; // Parse error; expected single non-whitespace token in @keyframes header
594 585
595 String name; 586 String name;
596 if (nameToken.type() == IdentToken) { 587 if (nameToken.type() == IdentToken) {
597 name = nameToken.value().toString(); 588 name = nameToken.value().toString();
598 } else if (nameToken.type() == StringToken && webkitPrefixed) { 589 } else if (nameToken.type() == StringToken && webkitPrefixed) {
599 if (m_context.useCounter()) 590 if (m_context.useCounter())
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 624
634 consumeDeclarationList(block, StyleRule::Style); 625 consumeDeclarationList(block, StyleRule::Style);
635 626
636 return StyleRulePage::create(std::move(selectorList), createStylePropertySet (m_parsedProperties, m_context.mode())); 627 return StyleRulePage::create(std::move(selectorList), createStylePropertySet (m_parsedProperties, m_context.mode()));
637 } 628 }
638 629
639 void CSSParserImpl::consumeApplyRule(CSSParserTokenRange prelude) 630 void CSSParserImpl::consumeApplyRule(CSSParserTokenRange prelude)
640 { 631 {
641 ASSERT(RuntimeEnabledFeatures::cssApplyAtRulesEnabled()); 632 ASSERT(RuntimeEnabledFeatures::cssApplyAtRulesEnabled());
642 633
643 prelude.consumeWhitespace();
644 const CSSParserToken& ident = prelude.consumeIncludingWhitespace(); 634 const CSSParserToken& ident = prelude.consumeIncludingWhitespace();
645 if (!prelude.atEnd() || !CSSVariableParser::isValidVariableName(ident)) 635 if (!prelude.atEnd() || !CSSVariableParser::isValidVariableName(ident))
646 return; // Parse error, expected a single custom property name 636 return; // Parse error, expected a single custom property name
647 m_parsedProperties.append(CSSProperty( 637 m_parsedProperties.append(CSSProperty(
648 CSSPropertyApplyAtRule, 638 CSSPropertyApplyAtRule,
649 *CSSCustomIdentValue::create(ident.value().toString()))); 639 *CSSCustomIdentValue::create(ident.value().toString())));
650 } 640 }
651 641
652 StyleRuleKeyframe* CSSParserImpl::consumeKeyframeStyleRule(CSSParserTokenRange p relude, CSSParserTokenRange block) 642 StyleRuleKeyframe* CSSParserImpl::consumeKeyframeStyleRule(CSSParserTokenRange p relude, CSSParserTokenRange block)
653 { 643 {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
823 else 813 else
824 return nullptr; // Parser error, invalid value in keyframe selector 814 return nullptr; // Parser error, invalid value in keyframe selector
825 if (range.atEnd()) 815 if (range.atEnd())
826 return result; 816 return result;
827 if (range.consume().type() != CommaToken) 817 if (range.consume().type() != CommaToken)
828 return nullptr; // Parser error 818 return nullptr; // Parser error
829 } 819 }
830 } 820 }
831 821
832 } // namespace blink 822 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698