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

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

Issue 2032243003: Make CSSValueList store const CSSValues (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_make_computedstyledeclaration_return_const
Patch Set: Small fix n CSSOM 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 /* 1 /*
2 * Copyright (C) 2004 Zack Rusin <zack@kde.org> 2 * Copyright (C) 2004 Zack Rusin <zack@kde.org>
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> 4 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> 5 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
6 * Copyright (C) 2011 Sencha, Inc. All rights reserved. 6 * Copyright (C) 2011 Sencha, Inc. All rights reserved.
7 * Copyright (C) 2015 Google Inc. All rights reserved. 7 * Copyright (C) 2015 Google Inc. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public 10 * modify it under the terms of the GNU Lesser General Public
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 if (itemPosition >= ItemPositionCenter && overflowAlignment != OverflowAlign mentDefault) 454 if (itemPosition >= ItemPositionCenter && overflowAlignment != OverflowAlign mentDefault)
455 result->append(CSSPrimitiveValue::create(overflowAlignment)); 455 result->append(CSSPrimitiveValue::create(overflowAlignment));
456 ASSERT(result->length() <= 2); 456 ASSERT(result->length() <= 2);
457 return result; 457 return result;
458 } 458 }
459 459
460 static CSSValueList* valuesForGridShorthand(const StylePropertyShorthand& shorth and, const ComputedStyle& style, const LayoutObject* layoutObject, Node* styledN ode, bool allowVisitedStyle) 460 static CSSValueList* valuesForGridShorthand(const StylePropertyShorthand& shorth and, const ComputedStyle& style, const LayoutObject* layoutObject, Node* styledN ode, bool allowVisitedStyle)
461 { 461 {
462 CSSValueList* list = CSSValueList::createSlashSeparated(); 462 CSSValueList* list = CSSValueList::createSlashSeparated();
463 for (size_t i = 0; i < shorthand.length(); ++i) { 463 for (size_t i = 0; i < shorthand.length(); ++i) {
464 CSSValue* value = ComputedStyleCSSValueMapping::get(shorthand.properties ()[i], style, layoutObject, styledNode, allowVisitedStyle); 464 const CSSValue* value = ComputedStyleCSSValueMapping::get(shorthand.prop erties()[i], style, layoutObject, styledNode, allowVisitedStyle);
465 ASSERT(value); 465 ASSERT(value);
466 list->append(value); 466 list->append(value);
467 } 467 }
468 return list; 468 return list;
469 } 469 }
470 470
471 static CSSValueList* valuesForShorthandProperty(const StylePropertyShorthand& sh orthand, const ComputedStyle& style, const LayoutObject* layoutObject, Node* sty ledNode, bool allowVisitedStyle) 471 static CSSValueList* valuesForShorthandProperty(const StylePropertyShorthand& sh orthand, const ComputedStyle& style, const LayoutObject* layoutObject, Node* sty ledNode, bool allowVisitedStyle)
472 { 472 {
473 CSSValueList* list = CSSValueList::createSpaceSeparated(); 473 CSSValueList* list = CSSValueList::createSpaceSeparated();
474 for (size_t i = 0; i < shorthand.length(); ++i) { 474 for (size_t i = 0; i < shorthand.length(); ++i) {
475 CSSValue* value = ComputedStyleCSSValueMapping::get(shorthand.properties ()[i], style, layoutObject, styledNode, allowVisitedStyle); 475 const CSSValue* value = ComputedStyleCSSValueMapping::get(shorthand.prop erties()[i], style, layoutObject, styledNode, allowVisitedStyle);
476 ASSERT(value); 476 ASSERT(value);
477 list->append(value); 477 list->append(value);
478 } 478 }
479 return list; 479 return list;
480 } 480 }
481 481
482 static CSSValue* expandNoneLigaturesValue() 482 static CSSValue* expandNoneLigaturesValue()
483 { 483 {
484 CSSValueList* list = CSSValueList::createSpaceSeparated(); 484 CSSValueList* list = CSSValueList::createSpaceSeparated();
485 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoCommonLigatures)) ; 485 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoCommonLigatures)) ;
486 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoDiscretionaryLiga tures)); 486 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoDiscretionaryLiga tures));
487 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoHistoricalLigatur es)); 487 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoHistoricalLigatur es));
488 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoContextual)); 488 list->append(CSSPrimitiveValue::createIdentifier(CSSValueNoContextual));
489 return list; 489 return list;
490 } 490 }
491 491
492 static CSSValue* valuesForFontVariantProperty(const ComputedStyle& style, const LayoutObject* layoutObject, Node* styledNode, bool allowVisitedStyle) 492 static CSSValue* valuesForFontVariantProperty(const ComputedStyle& style, const LayoutObject* layoutObject, Node* styledNode, bool allowVisitedStyle)
493 { 493 {
494 enum VariantShorthandCases { AllNormal, NoneLigatures, ConcatenateNonNormal }; 494 enum VariantShorthandCases { AllNormal, NoneLigatures, ConcatenateNonNormal };
495 VariantShorthandCases shorthandCase = AllNormal; 495 VariantShorthandCases shorthandCase = AllNormal;
496 for (size_t i = 0; i < fontVariantShorthand().length(); ++i) { 496 for (size_t i = 0; i < fontVariantShorthand().length(); ++i) {
497 CSSValue* value = ComputedStyleCSSValueMapping::get(fontVariantShorthand ().properties()[i], style, layoutObject, styledNode, allowVisitedStyle); 497 const CSSValue* value = ComputedStyleCSSValueMapping::get(fontVariantSho rthand().properties()[i], style, layoutObject, styledNode, allowVisitedStyle);
498 498
499 if (shorthandCase == AllNormal 499 if (shorthandCase == AllNormal
500 && value->isPrimitiveValue() 500 && value->isPrimitiveValue()
501 && toCSSPrimitiveValue(value)->getValueID() == CSSValueNone 501 && toCSSPrimitiveValue(value)->getValueID() == CSSValueNone
502 && fontVariantShorthand().properties()[i] == CSSPropertyFontVariantL igatures) { 502 && fontVariantShorthand().properties()[i] == CSSPropertyFontVariantL igatures) {
503 shorthandCase = NoneLigatures; 503 shorthandCase = NoneLigatures;
504 } else if (!(value->isPrimitiveValue() && toCSSPrimitiveValue(value)->ge tValueID() == CSSValueNormal)) { 504 } else if (!(value->isPrimitiveValue() && toCSSPrimitiveValue(value)->ge tValueID() == CSSValueNormal)) {
505 shorthandCase = ConcatenateNonNormal; 505 shorthandCase = ConcatenateNonNormal;
506 break; 506 break;
507 } 507 }
508 } 508 }
509 509
510 switch (shorthandCase) { 510 switch (shorthandCase) {
511 case AllNormal: 511 case AllNormal:
512 return CSSPrimitiveValue::createIdentifier(CSSValueNormal); 512 return CSSPrimitiveValue::createIdentifier(CSSValueNormal);
513 case NoneLigatures: 513 case NoneLigatures:
514 return CSSPrimitiveValue::createIdentifier(CSSValueNone); 514 return CSSPrimitiveValue::createIdentifier(CSSValueNone);
515 case ConcatenateNonNormal: 515 case ConcatenateNonNormal:
516 { 516 {
517 CSSValueList* list = CSSValueList::createSpaceSeparated(); 517 CSSValueList* list = CSSValueList::createSpaceSeparated();
518 for (size_t i = 0; i < fontVariantShorthand().length(); ++i) { 518 for (size_t i = 0; i < fontVariantShorthand().length(); ++i) {
519 CSSValue* value = ComputedStyleCSSValueMapping::get(fontVariantShort hand().properties()[i], style, layoutObject, styledNode, allowVisitedStyle); 519 const CSSValue* value = ComputedStyleCSSValueMapping::get(fontVarian tShorthand().properties()[i], style, layoutObject, styledNode, allowVisitedStyle );
520 ASSERT(value); 520 ASSERT(value);
521 if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValu eID() == CSSValueNone) { 521 if (value->isPrimitiveValue() && toCSSPrimitiveValue(value)->getValu eID() == CSSValueNone) {
522 list->append(expandNoneLigaturesValue()); 522 list->append(expandNoneLigaturesValue());
523 } else if (!(value->isPrimitiveValue() && toCSSPrimitiveValue(value) ->getValueID() == CSSValueNormal)) { 523 } else if (!(value->isPrimitiveValue() && toCSSPrimitiveValue(value) ->getValueID() == CSSValueNormal)) {
524 list->append(value); 524 list->append(value);
525 } 525 }
526 } 526 }
527 return list; 527 return list;
528 } 528 }
529 default: 529 default:
530 NOTREACHED(); 530 NOTREACHED();
531 return nullptr; 531 return nullptr;
532 } 532 }
533 } 533 }
534 534
535 static CSSValueList* valuesForBackgroundShorthand(const ComputedStyle& style, co nst LayoutObject* layoutObject, Node* styledNode, bool allowVisitedStyle) 535 static CSSValueList* valuesForBackgroundShorthand(const ComputedStyle& style, co nst LayoutObject* layoutObject, Node* styledNode, bool allowVisitedStyle)
536 { 536 {
537 CSSValueList* ret = CSSValueList::createCommaSeparated(); 537 CSSValueList* ret = CSSValueList::createCommaSeparated();
538 const FillLayer* currLayer = &style.backgroundLayers(); 538 const FillLayer* currLayer = &style.backgroundLayers();
539 for (; currLayer; currLayer = currLayer->next()) { 539 for (; currLayer; currLayer = currLayer->next()) {
540 CSSValueList* list = CSSValueList::createSlashSeparated(); 540 CSSValueList* list = CSSValueList::createSlashSeparated();
541 CSSValueList* beforeSlash = CSSValueList::createSpaceSeparated(); 541 CSSValueList* beforeSlash = CSSValueList::createSpaceSeparated();
542 if (!currLayer->next()) { // color only for final layer 542 if (!currLayer->next()) { // color only for final layer
543 CSSValue* value = ComputedStyleCSSValueMapping::get(CSSPropertyBackg roundColor, style, layoutObject, styledNode, allowVisitedStyle); 543 const CSSValue* value = ComputedStyleCSSValueMapping::get(CSSPropert yBackgroundColor, style, layoutObject, styledNode, allowVisitedStyle);
544 ASSERT(value); 544 ASSERT(value);
545 beforeSlash->append(value); 545 beforeSlash->append(value);
546 } 546 }
547 beforeSlash->append(currLayer->image() ? currLayer->image()->computedCSS Value() : CSSPrimitiveValue::createIdentifier(CSSValueNone)); 547 beforeSlash->append(currLayer->image() ? currLayer->image()->computedCSS Value() : CSSPrimitiveValue::createIdentifier(CSSValueNone));
548 beforeSlash->append(valueForFillRepeat(currLayer->repeatX(), currLayer-> repeatY())); 548 beforeSlash->append(valueForFillRepeat(currLayer->repeatX(), currLayer-> repeatY()));
549 beforeSlash->append(CSSPrimitiveValue::create(currLayer->attachment())); 549 beforeSlash->append(CSSPrimitiveValue::create(currLayer->attachment()));
550 beforeSlash->append(createPositionListForLayer(CSSPropertyBackgroundPosi tion, *currLayer, style)); 550 beforeSlash->append(createPositionListForLayer(CSSPropertyBackgroundPosi tion, *currLayer, style));
551 list->append(beforeSlash); 551 list->append(beforeSlash);
552 CSSValueList* afterSlash = CSSValueList::createSpaceSeparated(); 552 CSSValueList* afterSlash = CSSValueList::createSpaceSeparated();
553 afterSlash->append(valueForFillSize(currLayer->size(), style)); 553 afterSlash->append(valueForFillSize(currLayer->size(), style));
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 list->append(CSSPrimitiveValue::create(radius.width().percent(), CSSPrim itiveValue::UnitType::Percentage)); 1111 list->append(CSSPrimitiveValue::create(radius.width().percent(), CSSPrim itiveValue::UnitType::Percentage));
1112 else 1112 else
1113 list->append(zoomAdjustedPixelValueForLength(radius.width(), style)); 1113 list->append(zoomAdjustedPixelValueForLength(radius.width(), style));
1114 if (radius.height().type() == Percent) 1114 if (radius.height().type() == Percent)
1115 list->append(CSSPrimitiveValue::create(radius.height().percent(), CSSPri mitiveValue::UnitType::Percentage)); 1115 list->append(CSSPrimitiveValue::create(radius.height().percent(), CSSPri mitiveValue::UnitType::Percentage));
1116 else 1116 else
1117 list->append(zoomAdjustedPixelValueForLength(radius.height(), style)); 1117 list->append(zoomAdjustedPixelValueForLength(radius.height(), style));
1118 return list; 1118 return list;
1119 } 1119 }
1120 1120
1121 static CSSValue* valueForBorderRadiusCorner(LengthSize radius, const ComputedSty le& style) 1121 static const CSSValue* valueForBorderRadiusCorner(LengthSize radius, const Compu tedStyle& style)
1122 { 1122 {
1123 CSSValueList* list = valuesForBorderRadiusCorner(radius, style); 1123 CSSValueList* list = valuesForBorderRadiusCorner(radius, style);
1124 if (list->item(0)->equals(*list->item(1))) 1124 if (list->item(0)->equals(*list->item(1)))
1125 return list->item(0); 1125 return list->item(0);
1126 return list; 1126 return list;
1127 } 1127 }
1128 1128
1129 static CSSFunctionValue* valueForMatrixTransform(const TransformationMatrix& tra nsform, const ComputedStyle& style) 1129 static CSSFunctionValue* valueForMatrixTransform(const TransformationMatrix& tra nsform, const ComputedStyle& style)
1130 { 1130 {
1131 CSSFunctionValue* transformValue = nullptr; 1131 CSSFunctionValue* transformValue = nullptr;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 list->append(valueForBasicShape(style, shapeValue->shape())); 1293 list->append(valueForBasicShape(style, shapeValue->shape()));
1294 if (shapeValue->cssBox() != BoxMissing) 1294 if (shapeValue->cssBox() != BoxMissing)
1295 list->append(CSSPrimitiveValue::create(shapeValue->cssBox())); 1295 list->append(CSSPrimitiveValue::create(shapeValue->cssBox()));
1296 return list; 1296 return list;
1297 } 1297 }
1298 1298
1299 static CSSValueList* valuesForSidesShorthand(const StylePropertyShorthand& short hand, const ComputedStyle& style, const LayoutObject* layoutObject, Node* styled Node, bool allowVisitedStyle) 1299 static CSSValueList* valuesForSidesShorthand(const StylePropertyShorthand& short hand, const ComputedStyle& style, const LayoutObject* layoutObject, Node* styled Node, bool allowVisitedStyle)
1300 { 1300 {
1301 CSSValueList* list = CSSValueList::createSpaceSeparated(); 1301 CSSValueList* list = CSSValueList::createSpaceSeparated();
1302 // Assume the properties are in the usual order top, right, bottom, left. 1302 // Assume the properties are in the usual order top, right, bottom, left.
1303 CSSValue* topValue = ComputedStyleCSSValueMapping::get(shorthand.properties( )[0], style, layoutObject, styledNode, allowVisitedStyle); 1303 const CSSValue* topValue = ComputedStyleCSSValueMapping::get(shorthand.prope rties()[0], style, layoutObject, styledNode, allowVisitedStyle);
1304 CSSValue* rightValue = ComputedStyleCSSValueMapping::get(shorthand.propertie s()[1], style, layoutObject, styledNode, allowVisitedStyle); 1304 const CSSValue* rightValue = ComputedStyleCSSValueMapping::get(shorthand.pro perties()[1], style, layoutObject, styledNode, allowVisitedStyle);
1305 CSSValue* bottomValue = ComputedStyleCSSValueMapping::get(shorthand.properti es()[2], style, layoutObject, styledNode, allowVisitedStyle); 1305 const CSSValue* bottomValue = ComputedStyleCSSValueMapping::get(shorthand.pr operties()[2], style, layoutObject, styledNode, allowVisitedStyle);
1306 CSSValue* leftValue = ComputedStyleCSSValueMapping::get(shorthand.properties ()[3], style, layoutObject, styledNode, allowVisitedStyle); 1306 const CSSValue* leftValue = ComputedStyleCSSValueMapping::get(shorthand.prop erties()[3], style, layoutObject, styledNode, allowVisitedStyle);
1307 1307
1308 // All 4 properties must be specified. 1308 // All 4 properties must be specified.
1309 if (!topValue || !rightValue || !bottomValue || !leftValue) 1309 if (!topValue || !rightValue || !bottomValue || !leftValue)
1310 return nullptr; 1310 return nullptr;
1311 1311
1312 bool showLeft = !compareCSSValuePtr(rightValue, leftValue); 1312 bool showLeft = !compareCSSValuePtr(rightValue, leftValue);
1313 bool showBottom = !compareCSSValuePtr(topValue, bottomValue) || showLeft; 1313 bool showBottom = !compareCSSValuePtr(topValue, bottomValue) || showLeft;
1314 bool showRight = !compareCSSValuePtr(topValue, rightValue) || showBottom; 1314 bool showRight = !compareCSSValuePtr(topValue, rightValue) || showBottom;
1315 1315
1316 list->append(topValue); 1316 list->append(topValue);
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
1615 return BreakAuto; 1615 return BreakAuto;
1616 case BreakColumn: 1616 case BreakColumn:
1617 return BreakAlways; 1617 return BreakAlways;
1618 case BreakAvoidColumn: 1618 case BreakAvoidColumn:
1619 return BreakAvoid; 1619 return BreakAvoid;
1620 default: 1620 default:
1621 return genericBreakValue; 1621 return genericBreakValue;
1622 } 1622 }
1623 } 1623 }
1624 1624
1625 CSSValue* ComputedStyleCSSValueMapping::get(const AtomicString customPropertyNam e, const ComputedStyle& style) 1625 const CSSValue* ComputedStyleCSSValueMapping::get(const AtomicString customPrope rtyName, const ComputedStyle& style)
1626 { 1626 {
1627 StyleVariableData* variables = style.variables(); 1627 StyleVariableData* variables = style.variables();
1628 if (!variables) 1628 if (!variables)
1629 return nullptr; 1629 return nullptr;
1630 1630
1631 CSSVariableData* data = variables->getVariable(customPropertyName); 1631 CSSVariableData* data = variables->getVariable(customPropertyName);
1632 if (!data) 1632 if (!data)
1633 return nullptr; 1633 return nullptr;
1634 1634
1635 return CSSCustomPropertyDeclaration::create(customPropertyName, data); 1635 return CSSCustomPropertyDeclaration::create(customPropertyName, data);
1636 } 1636 }
1637 1637
1638 std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> ComputedStyleCSS ValueMapping::getVariables(const ComputedStyle& style) 1638 std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> ComputedStyleCSS ValueMapping::getVariables(const ComputedStyle& style)
1639 { 1639 {
1640 StyleVariableData* variables = style.variables(); 1640 StyleVariableData* variables = style.variables();
1641 if (variables) 1641 if (variables)
1642 return variables->getVariables(); 1642 return variables->getVariables();
1643 return nullptr; 1643 return nullptr;
1644 } 1644 }
1645 1645
1646 CSSValue* ComputedStyleCSSValueMapping::get(CSSPropertyID propertyID, const Comp utedStyle& style, const LayoutObject* layoutObject, Node* styledNode, bool allow VisitedStyle) 1646 const CSSValue* ComputedStyleCSSValueMapping::get(CSSPropertyID propertyID, cons t ComputedStyle& style, const LayoutObject* layoutObject, Node* styledNode, bool allowVisitedStyle)
1647 { 1647 {
1648 const SVGComputedStyle& svgStyle = style.svgStyle(); 1648 const SVGComputedStyle& svgStyle = style.svgStyle();
1649 propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style.di rection(), style.getWritingMode()); 1649 propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style.di rection(), style.getWritingMode());
1650 switch (propertyID) { 1650 switch (propertyID) {
1651 case CSSPropertyInvalid: 1651 case CSSPropertyInvalid:
1652 return nullptr; 1652 return nullptr;
1653 1653
1654 case CSSPropertyBackgroundColor: 1654 case CSSPropertyBackgroundColor:
1655 return allowVisitedStyle ? CSSColorValue::create(style.visitedDependentC olor(CSSPropertyBackgroundColor).rgb()) : currentColorOrValidColor(style, style. backgroundColor()); 1655 return allowVisitedStyle ? CSSColorValue::create(style.visitedDependentC olor(CSSPropertyBackgroundColor).rgb()) : currentColorOrValidColor(style, style. backgroundColor());
1656 case CSSPropertyBackgroundImage: 1656 case CSSPropertyBackgroundImage:
(...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after
2652 2652
2653 case CSSPropertyBackgroundBlendMode: { 2653 case CSSPropertyBackgroundBlendMode: {
2654 CSSValueList* list = CSSValueList::createCommaSeparated(); 2654 CSSValueList* list = CSSValueList::createCommaSeparated();
2655 for (const FillLayer* currLayer = &style.backgroundLayers(); currLayer; currLayer = currLayer->next()) 2655 for (const FillLayer* currLayer = &style.backgroundLayers(); currLayer; currLayer = currLayer->next())
2656 list->append(CSSPrimitiveValue::create(currLayer->blendMode())); 2656 list->append(CSSPrimitiveValue::create(currLayer->blendMode()));
2657 return list; 2657 return list;
2658 } 2658 }
2659 case CSSPropertyBackground: 2659 case CSSPropertyBackground:
2660 return valuesForBackgroundShorthand(style, layoutObject, styledNode, all owVisitedStyle); 2660 return valuesForBackgroundShorthand(style, layoutObject, styledNode, all owVisitedStyle);
2661 case CSSPropertyBorder: { 2661 case CSSPropertyBorder: {
2662 CSSValue* value = get(CSSPropertyBorderTop, style, layoutObject, styledN ode, allowVisitedStyle); 2662 const CSSValue* value = get(CSSPropertyBorderTop, style, layoutObject, s tyledNode, allowVisitedStyle);
2663 const CSSPropertyID properties[] = { 2663 const CSSPropertyID properties[] = {
2664 CSSPropertyBorderRight, 2664 CSSPropertyBorderRight,
2665 CSSPropertyBorderBottom, 2665 CSSPropertyBorderBottom,
2666 CSSPropertyBorderLeft 2666 CSSPropertyBorderLeft
2667 }; 2667 };
2668 for (size_t i = 0; i < WTF_ARRAY_LENGTH(properties); ++i) { 2668 for (size_t i = 0; i < WTF_ARRAY_LENGTH(properties); ++i) {
2669 if (!compareCSSValuePtr<CSSValue>(value, get(properties[i], style, l ayoutObject, styledNode, allowVisitedStyle))) 2669 if (!compareCSSValuePtr<CSSValue>(value, get(properties[i], style, l ayoutObject, styledNode, allowVisitedStyle)))
2670 return nullptr; 2670 return nullptr;
2671 } 2671 }
2672 return value; 2672 return value;
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
3003 case CSSPropertyAll: 3003 case CSSPropertyAll:
3004 return nullptr; 3004 return nullptr;
3005 default: 3005 default:
3006 break; 3006 break;
3007 } 3007 }
3008 ASSERT_NOT_REACHED(); 3008 ASSERT_NOT_REACHED();
3009 return nullptr; 3009 return nullptr;
3010 } 3010 }
3011 3011
3012 } // namespace blink 3012 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.h ('k') | third_party/WebKit/Source/core/css/RuleFeature.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698