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

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

Issue 2646043003: Implements CSSPropertyAPI for the clip-path property. (Closed)
Patch Set: remove using namespace Created 3 years, 11 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/CSSPropertyParser.h" 5 #include "core/css/parser/CSSPropertyParser.h"
6 6
7 #include "core/StylePropertyShorthand.h" 7 #include "core/StylePropertyShorthand.h"
8 #include "core/css/CSSBasicShapeValues.h" 8 #include "core/css/CSSBasicShapeValues.h"
9 #include "core/css/CSSBorderImage.h" 9 #include "core/css/CSSBorderImage.h"
10 #include "core/css/CSSContentDistributionValue.h" 10 #include "core/css/CSSContentDistributionValue.h"
(...skipping 1420 matching lines...) Expand 10 before | Expand all | Expand 10 after
1431 if (args.atEnd() && parsedValue && 1431 if (args.atEnd() && parsedValue &&
1432 (parsedValue->isCalculated() || parsedValue->getDoubleValue() > 0)) { 1432 (parsedValue->isCalculated() || parsedValue->getDoubleValue() > 0)) {
1433 CSSFunctionValue* result = CSSFunctionValue::create(CSSValueRepeat); 1433 CSSFunctionValue* result = CSSFunctionValue::create(CSSValueRepeat);
1434 result->append(*parsedValue); 1434 result->append(*parsedValue);
1435 return result; 1435 return result;
1436 } 1436 }
1437 } 1437 }
1438 return nullptr; 1438 return nullptr;
1439 } 1439 }
1440 1440
1441 static CSSValue* consumeClipPath(CSSParserTokenRange& range,
1442 const CSSParserContext* context) {
1443 if (range.peek().id() == CSSValueNone)
1444 return consumeIdent(range);
1445 if (CSSURIValue* url = consumeUrl(range, context))
1446 return url;
1447 return CSSPropertyShapeUtils::consumeBasicShape(range, context);
1448 }
1449
1450 static CSSValue* consumeContentDistributionOverflowPosition( 1441 static CSSValue* consumeContentDistributionOverflowPosition(
1451 CSSParserTokenRange& range) { 1442 CSSParserTokenRange& range) {
1452 if (identMatches<CSSValueNormal, CSSValueBaseline, CSSValueLastBaseline>( 1443 if (identMatches<CSSValueNormal, CSSValueBaseline, CSSValueLastBaseline>(
1453 range.peek().id())) 1444 range.peek().id()))
1454 return CSSContentDistributionValue::create( 1445 return CSSContentDistributionValue::create(
1455 CSSValueInvalid, range.consumeIncludingWhitespace().id(), 1446 CSSValueInvalid, range.consumeIncludingWhitespace().id(),
1456 CSSValueInvalid); 1447 CSSValueInvalid);
1457 1448
1458 CSSValueID distribution = CSSValueInvalid; 1449 CSSValueID distribution = CSSValueInvalid;
1459 CSSValueID position = CSSValueInvalid; 1450 CSSValueID position = CSSValueInvalid;
(...skipping 1106 matching lines...) Expand 10 before | Expand all | Expand 10 after
2566 case CSSPropertyBorderImageSource: 2557 case CSSPropertyBorderImageSource:
2567 case CSSPropertyWebkitMaskBoxImageSource: 2558 case CSSPropertyWebkitMaskBoxImageSource:
2568 return consumeImageOrNone(m_range, m_context); 2559 return consumeImageOrNone(m_range, m_context);
2569 case CSSPropertyPerspective: 2560 case CSSPropertyPerspective:
2570 return consumePerspective(m_range, m_context, unresolvedProperty); 2561 return consumePerspective(m_range, m_context, unresolvedProperty);
2571 case CSSPropertyScrollSnapPointsX: 2562 case CSSPropertyScrollSnapPointsX:
2572 case CSSPropertyScrollSnapPointsY: 2563 case CSSPropertyScrollSnapPointsY:
2573 return consumeScrollSnapPoints(m_range, m_context->mode()); 2564 return consumeScrollSnapPoints(m_range, m_context->mode());
2574 case CSSPropertyOrder: 2565 case CSSPropertyOrder:
2575 return consumeInteger(m_range); 2566 return consumeInteger(m_range);
2576 case CSSPropertyClipPath:
2577 return consumeClipPath(m_range, m_context);
2578 case CSSPropertyJustifyContent: 2567 case CSSPropertyJustifyContent:
2579 case CSSPropertyAlignContent: 2568 case CSSPropertyAlignContent:
2580 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); 2569 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled());
2581 return consumeContentDistributionOverflowPosition(m_range); 2570 return consumeContentDistributionOverflowPosition(m_range);
2582 case CSSPropertyBorderImageRepeat: 2571 case CSSPropertyBorderImageRepeat:
2583 case CSSPropertyWebkitMaskBoxImageRepeat: 2572 case CSSPropertyWebkitMaskBoxImageRepeat:
2584 return consumeBorderImageRepeat(m_range); 2573 return consumeBorderImageRepeat(m_range);
2585 case CSSPropertyBorderImageSlice: 2574 case CSSPropertyBorderImageSlice:
2586 case CSSPropertyWebkitMaskBoxImageSlice: 2575 case CSSPropertyWebkitMaskBoxImageSlice:
2587 return consumeBorderImageSlice(property, m_range); 2576 return consumeBorderImageSlice(property, m_range);
(...skipping 1542 matching lines...) Expand 10 before | Expand all | Expand 10 after
4130 case CSSPropertyGridTemplate: 4119 case CSSPropertyGridTemplate:
4131 return consumeGridTemplateShorthand(CSSPropertyGridTemplate, important); 4120 return consumeGridTemplateShorthand(CSSPropertyGridTemplate, important);
4132 case CSSPropertyGrid: 4121 case CSSPropertyGrid:
4133 return consumeGridShorthand(important); 4122 return consumeGridShorthand(important);
4134 default: 4123 default:
4135 return false; 4124 return false;
4136 } 4125 }
4137 } 4126 }
4138 4127
4139 } // namespace blink 4128 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698