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

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

Issue 134153016: add 'manipulation' support to CSS touch-action parsing. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase to trunk Created 6 years, 9 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 /* 1 /*
2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) 3 * Copyright (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com)
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 6 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 7 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. 8 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved.
9 * Copyright (C) 2012 Intel Corporation. All rights reserved. 9 * Copyright (C) 2012 Intel Corporation. All rights reserved.
10 * 10 *
(...skipping 1478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 break; 1489 break;
1490 case CSSPropertyShapeMargin: 1490 case CSSPropertyShapeMargin:
1491 case CSSPropertyShapePadding: 1491 case CSSPropertyShapePadding:
1492 validPrimitive = (RuntimeEnabledFeatures::cssShapesEnabled() && !id && v alidUnit(value, FLength | FNonNeg)); 1492 validPrimitive = (RuntimeEnabledFeatures::cssShapesEnabled() && !id && v alidUnit(value, FLength | FNonNeg));
1493 break; 1493 break;
1494 case CSSPropertyShapeImageThreshold: 1494 case CSSPropertyShapeImageThreshold:
1495 validPrimitive = (RuntimeEnabledFeatures::cssShapesEnabled() && !id && v alidUnit(value, FNumber)); 1495 validPrimitive = (RuntimeEnabledFeatures::cssShapesEnabled() && !id && v alidUnit(value, FNumber));
1496 break; 1496 break;
1497 1497
1498 case CSSPropertyTouchAction: 1498 case CSSPropertyTouchAction:
1499 // auto | none | [pan-x || pan-y] 1499 // auto | none | [pan-x || pan-y] | manipulation
1500 return parseTouchAction(important); 1500 return parseTouchAction(important);
1501 1501
1502 case CSSPropertyAlignSelf: 1502 case CSSPropertyAlignSelf:
1503 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); 1503 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled());
1504 return parseItemPositionOverflowPosition(propId, important); 1504 return parseItemPositionOverflowPosition(propId, important);
1505 1505
1506 case CSSPropertyAlignItems: 1506 case CSSPropertyAlignItems:
1507 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled()); 1507 ASSERT(RuntimeEnabledFeatures::cssGridLayoutEnabled());
1508 return parseItemPositionOverflowPosition(propId, important); 1508 return parseItemPositionOverflowPosition(propId, important);
1509 1509
(...skipping 6018 matching lines...) Expand 10 before | Expand all | Expand 10 after
7528 return value; 7528 return value;
7529 } 7529 }
7530 7530
7531 bool CSSPropertyParser::parseTouchAction(bool important) 7531 bool CSSPropertyParser::parseTouchAction(bool important)
7532 { 7532 {
7533 if (!RuntimeEnabledFeatures::cssTouchActionEnabled()) 7533 if (!RuntimeEnabledFeatures::cssTouchActionEnabled())
7534 return false; 7534 return false;
7535 7535
7536 CSSParserValue* value = m_valueList->current(); 7536 CSSParserValue* value = m_valueList->current();
7537 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 7537 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
7538 if (m_valueList->size() == 1 && value && (value->id == CSSValueAuto || value ->id == CSSValueNone)) { 7538 if (m_valueList->size() == 1 && value && (value->id == CSSValueAuto || value ->id == CSSValueNone || value->id == CSSValueManipulation)) {
7539 list->append(cssValuePool().createIdentifierValue(value->id)); 7539 list->append(cssValuePool().createIdentifierValue(value->id));
7540 addProperty(CSSPropertyTouchAction, list.release(), important); 7540 addProperty(CSSPropertyTouchAction, list.release(), important);
7541 m_valueList->next(); 7541 m_valueList->next();
7542 return true; 7542 return true;
7543 } 7543 }
7544 7544
7545 bool isValid = true; 7545 bool isValid = true;
7546 while (isValid && value) { 7546 while (isValid && value) {
7547 switch (value->id) { 7547 switch (value->id) {
7548 case CSSValuePanX: 7548 case CSSValuePanX:
(...skipping 904 matching lines...) Expand 10 before | Expand all | Expand 10 after
8453 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueFill)); 8453 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueFill));
8454 if (!seenStroke) 8454 if (!seenStroke)
8455 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueStroke) ); 8455 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueStroke) );
8456 if (!seenMarkers) 8456 if (!seenMarkers)
8457 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueMarkers )); 8457 parsedValues->append(CSSPrimitiveValue::createIdentifier(CSSValueMarkers ));
8458 8458
8459 return parsedValues.release(); 8459 return parsedValues.release();
8460 } 8460 }
8461 8461
8462 } // namespace WebCore 8462 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698