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

Side by Side Diff: Source/core/css/CSSComputedStyleDeclaration.cpp

Issue 170603003: Use nullptr_t for RefPtr, PassRefPtr and RawPtr. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Final rebase Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/css/CSSCanvasValue.cpp ('k') | Source/core/css/CSSCrossfadeValue.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 case CSSPropertyRight: 610 case CSSPropertyRight:
611 l = style.right(); 611 l = style.right();
612 break; 612 break;
613 case CSSPropertyTop: 613 case CSSPropertyTop:
614 l = style.top(); 614 l = style.top();
615 break; 615 break;
616 case CSSPropertyBottom: 616 case CSSPropertyBottom:
617 l = style.bottom(); 617 l = style.bottom();
618 break; 618 break;
619 default: 619 default:
620 return 0; 620 return nullptr;
621 } 621 }
622 622
623 if (l.isPercent() && renderer && renderer->isBox()) { 623 if (l.isPercent() && renderer && renderer->isBox()) {
624 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope rtyID == CSSPropertyRight) ? 624 LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || prope rtyID == CSSPropertyRight) ?
625 toRenderBox(renderer)->containingBlockLogicalWidthForContent() : 625 toRenderBox(renderer)->containingBlockLogicalWidthForContent() :
626 toRenderBox(renderer)->containingBlockLogicalHeightForContent(Exclud eMarginBorderPadding); 626 toRenderBox(renderer)->containingBlockLogicalHeightForContent(Exclud eMarginBorderPadding);
627 return zoomAdjustedPixelValue(valueForLength(l, containingBlockSize), st yle); 627 return zoomAdjustedPixelValue(valueForLength(l, containingBlockSize), st yle);
628 } 628 }
629 if (l.isAuto()) { 629 if (l.isAuto()) {
630 // FIXME: It's not enough to simply return "auto" values for one offset if the other side is defined. 630 // FIXME: It's not enough to simply return "auto" values for one offset if the other side is defined.
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 switch (trackSize.type()) { 861 switch (trackSize.type()) {
862 case LengthTrackSizing: 862 case LengthTrackSizing:
863 return specifiedValueForGridTrackBreadth(trackSize.length(), style); 863 return specifiedValueForGridTrackBreadth(trackSize.length(), style);
864 case MinMaxTrackSizing: 864 case MinMaxTrackSizing:
865 RefPtrWillBeRawPtr<CSSValueList> minMaxTrackBreadths = CSSValueList::cre ateCommaSeparated(); 865 RefPtrWillBeRawPtr<CSSValueList> minMaxTrackBreadths = CSSValueList::cre ateCommaSeparated();
866 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize. minTrackBreadth(), style)); 866 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize. minTrackBreadth(), style));
867 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize. maxTrackBreadth(), style)); 867 minMaxTrackBreadths->append(specifiedValueForGridTrackBreadth(trackSize. maxTrackBreadth(), style));
868 return CSSFunctionValue::create("minmax(", minMaxTrackBreadths); 868 return CSSFunctionValue::create("minmax(", minMaxTrackBreadths);
869 } 869 }
870 ASSERT_NOT_REACHED(); 870 ASSERT_NOT_REACHED();
871 return 0; 871 return nullptr;
872 } 872 }
873 873
874 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order edNamedGridLines, size_t i, CSSValueList& list) 874 static void addValuesForNamedGridLinesAtIndex(const OrderedNamedGridLines& order edNamedGridLines, size_t i, CSSValueList& list)
875 { 875 {
876 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i); 876 const Vector<String>& namedGridLines = orderedNamedGridLines.get(i);
877 if (namedGridLines.isEmpty()) 877 if (namedGridLines.isEmpty())
878 return; 878 return;
879 879
880 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue: :create(); 880 RefPtrWillBeRawPtr<CSSGridLineNamesValue> lineNames = CSSGridLineNamesValue: :create();
881 for (size_t j = 0; j < namedGridLines.size(); ++j) 881 for (size_t j = 0; j < namedGridLines.size(); ++j)
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
999 valueId = CSSValueEaseIn; 999 valueId = CSSValueEaseIn;
1000 break; 1000 break;
1001 case CubicBezierTimingFunction::EaseOut: 1001 case CubicBezierTimingFunction::EaseOut:
1002 valueId = CSSValueEaseOut; 1002 valueId = CSSValueEaseOut;
1003 break; 1003 break;
1004 case CubicBezierTimingFunction::EaseInOut: 1004 case CubicBezierTimingFunction::EaseInOut:
1005 valueId = CSSValueEaseInOut; 1005 valueId = CSSValueEaseInOut;
1006 break; 1006 break;
1007 default: 1007 default:
1008 ASSERT_NOT_REACHED(); 1008 ASSERT_NOT_REACHED();
1009 return 0; 1009 return nullptr;
1010 } 1010 }
1011 return cssValuePool().createIdentifierValue(valueId); 1011 return cssValuePool().createIdentifierValue(valueId);
1012 } 1012 }
1013 return CSSCubicBezierTimingFunctionValue::create(bezierTimingFunctio n->x1(), bezierTimingFunction->y1(), bezierTimingFunction->x2(), bezierTimingFun ction->y2()); 1013 return CSSCubicBezierTimingFunctionValue::create(bezierTimingFunctio n->x1(), bezierTimingFunction->y1(), bezierTimingFunction->x2(), bezierTimingFun ction->y2());
1014 } 1014 }
1015 1015
1016 case TimingFunction::StepsFunction: 1016 case TimingFunction::StepsFunction:
1017 { 1017 {
1018 const StepsTimingFunction* stepsTimingFunction = toStepsTimingFuncti on(timingFunction); 1018 const StepsTimingFunction* stepsTimingFunction = toStepsTimingFuncti on(timingFunction);
1019 if (stepsTimingFunction->subType() == StepsTimingFunction::Custom) 1019 if (stepsTimingFunction->subType() == StepsTimingFunction::Custom)
1020 return CSSStepsTimingFunctionValue::create(stepsTimingFunction-> numberOfSteps(), stepsTimingFunction->stepAtStart()); 1020 return CSSStepsTimingFunctionValue::create(stepsTimingFunction-> numberOfSteps(), stepsTimingFunction->stepAtStart());
1021 CSSValueID valueId; 1021 CSSValueID valueId;
1022 switch (stepsTimingFunction->subType()) { 1022 switch (stepsTimingFunction->subType()) {
1023 case StepsTimingFunction::Start: 1023 case StepsTimingFunction::Start:
1024 valueId = CSSValueStepStart; 1024 valueId = CSSValueStepStart;
1025 break; 1025 break;
1026 case StepsTimingFunction::End: 1026 case StepsTimingFunction::End:
1027 valueId = CSSValueStepEnd; 1027 valueId = CSSValueStepEnd;
1028 break; 1028 break;
1029 default: 1029 default:
1030 ASSERT_NOT_REACHED(); 1030 ASSERT_NOT_REACHED();
1031 return 0; 1031 return nullptr;
1032 } 1032 }
1033 return cssValuePool().createIdentifierValue(valueId); 1033 return cssValuePool().createIdentifierValue(valueId);
1034 } 1034 }
1035 1035
1036 default: 1036 default:
1037 return cssValuePool().createIdentifierValue(CSSValueLinear); 1037 return cssValuePool().createIdentifierValue(CSSValueLinear);
1038 } 1038 }
1039 } 1039 }
1040 1040
1041 static PassRefPtrWillBeRawPtr<CSSValue> valueForAnimationTimingFunction(const CS SAnimationDataList* animList) 1041 static PassRefPtrWillBeRawPtr<CSSValue> valueForAnimationTimingFunction(const CS SAnimationDataList* animList)
(...skipping 14 matching lines...) Expand all
1056 case AnimationFillModeNone: 1056 case AnimationFillModeNone:
1057 return cssValuePool().createIdentifierValue(CSSValueNone); 1057 return cssValuePool().createIdentifierValue(CSSValueNone);
1058 case AnimationFillModeForwards: 1058 case AnimationFillModeForwards:
1059 return cssValuePool().createIdentifierValue(CSSValueForwards); 1059 return cssValuePool().createIdentifierValue(CSSValueForwards);
1060 case AnimationFillModeBackwards: 1060 case AnimationFillModeBackwards:
1061 return cssValuePool().createIdentifierValue(CSSValueBackwards); 1061 return cssValuePool().createIdentifierValue(CSSValueBackwards);
1062 case AnimationFillModeBoth: 1062 case AnimationFillModeBoth:
1063 return cssValuePool().createIdentifierValue(CSSValueBoth); 1063 return cssValuePool().createIdentifierValue(CSSValueBoth);
1064 default: 1064 default:
1065 ASSERT_NOT_REACHED(); 1065 ASSERT_NOT_REACHED();
1066 return 0; 1066 return nullptr;
1067 } 1067 }
1068 } 1068 }
1069 1069
1070 static PassRefPtrWillBeRawPtr<CSSValue> valueForAnimationDirection(CSSAnimationD ata::AnimationDirection direction) 1070 static PassRefPtrWillBeRawPtr<CSSValue> valueForAnimationDirection(CSSAnimationD ata::AnimationDirection direction)
1071 { 1071 {
1072 switch (direction) { 1072 switch (direction) {
1073 case CSSAnimationData::AnimationDirectionNormal: 1073 case CSSAnimationData::AnimationDirectionNormal:
1074 return cssValuePool().createIdentifierValue(CSSValueNormal); 1074 return cssValuePool().createIdentifierValue(CSSValueNormal);
1075 case CSSAnimationData::AnimationDirectionAlternate: 1075 case CSSAnimationData::AnimationDirectionAlternate:
1076 return cssValuePool().createIdentifierValue(CSSValueAlternate); 1076 return cssValuePool().createIdentifierValue(CSSValueAlternate);
1077 case CSSAnimationData::AnimationDirectionReverse: 1077 case CSSAnimationData::AnimationDirectionReverse:
1078 return cssValuePool().createIdentifierValue(CSSValueReverse); 1078 return cssValuePool().createIdentifierValue(CSSValueReverse);
1079 case CSSAnimationData::AnimationDirectionAlternateReverse: 1079 case CSSAnimationData::AnimationDirectionAlternateReverse:
1080 return cssValuePool().createIdentifierValue(CSSValueAlternateReverse); 1080 return cssValuePool().createIdentifierValue(CSSValueAlternateReverse);
1081 default: 1081 default:
1082 ASSERT_NOT_REACHED(); 1082 ASSERT_NOT_REACHED();
1083 return 0; 1083 return nullptr;
1084 } 1084 }
1085 } 1085 }
1086 1086
1087 static PassRefPtrWillBeRawPtr<CSSValue> valueForWillChange(const Vector<CSSPrope rtyID>& willChangeProperties, bool willChangeContents, bool willChangeScrollPosi tion) 1087 static PassRefPtrWillBeRawPtr<CSSValue> valueForWillChange(const Vector<CSSPrope rtyID>& willChangeProperties, bool willChangeContents, bool willChangeScrollPosi tion)
1088 { 1088 {
1089 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ; 1089 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createCommaSeparated() ;
1090 if (willChangeContents) 1090 if (willChangeContents)
1091 list->append(cssValuePool().createIdentifierValue(CSSValueContents)); 1091 list->append(cssValuePool().createIdentifierValue(CSSValueContents));
1092 if (willChangeScrollPosition) 1092 if (willChangeScrollPosition)
1093 list->append(cssValuePool().createIdentifierValue(CSSValueScrollPosition )); 1093 list->append(cssValuePool().createIdentifierValue(CSSValueScrollPosition ));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 static CSSValueID cssIdentifierForFontSizeKeyword(int keywordSize) 1156 static CSSValueID cssIdentifierForFontSizeKeyword(int keywordSize)
1157 { 1157 {
1158 ASSERT_ARG(keywordSize, keywordSize); 1158 ASSERT_ARG(keywordSize, keywordSize);
1159 ASSERT_ARG(keywordSize, keywordSize <= 8); 1159 ASSERT_ARG(keywordSize, keywordSize <= 8);
1160 return static_cast<CSSValueID>(CSSValueXxSmall + keywordSize - 1); 1160 return static_cast<CSSValueID>(CSSValueXxSmall + keywordSize - 1);
1161 } 1161 }
1162 1162
1163 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getFontSizeCSSValu ePreferringKeyword() const 1163 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getFontSizeCSSValu ePreferringKeyword() const
1164 { 1164 {
1165 if (!m_node) 1165 if (!m_node)
1166 return 0; 1166 return nullptr;
1167 1167
1168 m_node->document().updateLayoutIgnorePendingStylesheets(); 1168 m_node->document().updateLayoutIgnorePendingStylesheets();
1169 1169
1170 RefPtr<RenderStyle> style = m_node->computedStyle(m_pseudoElementSpecifier); 1170 RefPtr<RenderStyle> style = m_node->computedStyle(m_pseudoElementSpecifier);
1171 if (!style) 1171 if (!style)
1172 return 0; 1172 return nullptr;
1173 1173
1174 if (int keywordSize = style->fontDescription().keywordSize()) 1174 if (int keywordSize = style->fontDescription().keywordSize())
1175 return cssValuePool().createIdentifierValue(cssIdentifierForFontSizeKeyw ord(keywordSize)); 1175 return cssValuePool().createIdentifierValue(cssIdentifierForFontSizeKeyw ord(keywordSize));
1176 1176
1177 1177
1178 return zoomAdjustedPixelValue(style->fontDescription().computedPixelSize(), *style); 1178 return zoomAdjustedPixelValue(style->fontDescription().computedPixelSize(), *style);
1179 } 1179 }
1180 1180
1181 bool CSSComputedStyleDeclaration::useFixedFontDefaultSize() const 1181 bool CSSComputedStyleDeclaration::useFixedFontDefaultSize() const
1182 { 1182 {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 { 1298 {
1299 switch (type) { 1299 switch (type) {
1300 case MaskAlpha: 1300 case MaskAlpha:
1301 return cssValuePool().createValue(CSSValueAlpha); 1301 return cssValuePool().createValue(CSSValueAlpha);
1302 case MaskLuminance: 1302 case MaskLuminance:
1303 return cssValuePool().createValue(CSSValueLuminance); 1303 return cssValuePool().createValue(CSSValueLuminance);
1304 } 1304 }
1305 1305
1306 ASSERT_NOT_REACHED(); 1306 ASSERT_NOT_REACHED();
1307 1307
1308 return 0; 1308 return nullptr;
1309 } 1309 }
1310 1310
1311 static PassRefPtrWillBeRawPtr<CSSValue> valueForFillSize(const FillSize& fillSiz e, const RenderStyle& style) 1311 static PassRefPtrWillBeRawPtr<CSSValue> valueForFillSize(const FillSize& fillSiz e, const RenderStyle& style)
1312 { 1312 {
1313 if (fillSize.type == Contain) 1313 if (fillSize.type == Contain)
1314 return cssValuePool().createIdentifierValue(CSSValueContain); 1314 return cssValuePool().createIdentifierValue(CSSValueContain);
1315 1315
1316 if (fillSize.type == Cover) 1316 if (fillSize.type == Cover)
1317 return cssValuePool().createIdentifierValue(CSSValueCover); 1317 return cssValuePool().createIdentifierValue(CSSValueCover);
1318 1318
(...skipping 21 matching lines...) Expand all
1340 } else if (contentData->isText()) 1340 } else if (contentData->isText())
1341 list->append(cssValuePool().createValue(static_cast<const TextConten tData*>(contentData)->text(), CSSPrimitiveValue::CSS_STRING)); 1341 list->append(cssValuePool().createValue(static_cast<const TextConten tData*>(contentData)->text(), CSSPrimitiveValue::CSS_STRING));
1342 } 1342 }
1343 return list.release(); 1343 return list.release();
1344 } 1344 }
1345 1345
1346 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const RenderSt yle& style, CSSPropertyID propertyID) 1346 static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const RenderSt yle& style, CSSPropertyID propertyID)
1347 { 1347 {
1348 const CounterDirectiveMap* map = style.counterDirectives(); 1348 const CounterDirectiveMap* map = style.counterDirectives();
1349 if (!map) 1349 if (!map)
1350 return 0; 1350 return nullptr;
1351 1351
1352 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 1352 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
1353 for (CounterDirectiveMap::const_iterator it = map->begin(); it != map->end() ; ++it) { 1353 for (CounterDirectiveMap::const_iterator it = map->begin(); it != map->end() ; ++it) {
1354 list->append(cssValuePool().createValue(it->key, CSSPrimitiveValue::CSS_ STRING)); 1354 list->append(cssValuePool().createValue(it->key, CSSPrimitiveValue::CSS_ STRING));
1355 short number = propertyID == CSSPropertyCounterIncrement ? it->value.inc rementValue() : it->value.resetValue(); 1355 short number = propertyID == CSSPropertyCounterIncrement ? it->value.inc rementValue() : it->value.resetValue();
1356 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::CSS_NUMBER)); 1356 list->append(cssValuePool().createValue((double)number, CSSPrimitiveValu e::CSS_NUMBER));
1357 } 1357 }
1358 return list.release(); 1358 return list.release();
1359 } 1359 }
1360 1360
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 result->append(CSSPrimitiveValue::create(itemPosition)); 1518 result->append(CSSPrimitiveValue::create(itemPosition));
1519 if (itemPosition >= ItemPositionCenter && overflowAlignment != OverflowAlign mentDefault) 1519 if (itemPosition >= ItemPositionCenter && overflowAlignment != OverflowAlign mentDefault)
1520 result->append(CSSPrimitiveValue::create(overflowAlignment)); 1520 result->append(CSSPrimitiveValue::create(overflowAlignment));
1521 return result.release(); 1521 return result.release();
1522 } 1522 }
1523 1523
1524 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu e(CSSPropertyID propertyID, EUpdateLayout updateLayout) const 1524 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu e(CSSPropertyID propertyID, EUpdateLayout updateLayout) const
1525 { 1525 {
1526 Node* styledNode = this->styledNode(); 1526 Node* styledNode = this->styledNode();
1527 if (!styledNode) 1527 if (!styledNode)
1528 return 0; 1528 return nullptr;
1529 RenderObject* renderer = styledNode->renderer(); 1529 RenderObject* renderer = styledNode->renderer();
1530 RefPtr<RenderStyle> style; 1530 RefPtr<RenderStyle> style;
1531 1531
1532 if (updateLayout) { 1532 if (updateLayout) {
1533 Document& document = styledNode->document(); 1533 Document& document = styledNode->document();
1534 1534
1535 // If a compositor animation is running or animations have been updated 1535 // If a compositor animation is running or animations have been updated
1536 // via the api we may need to service animations in order to generate 1536 // via the api we may need to service animations in order to generate
1537 // an up to date value. 1537 // an up to date value.
1538 DocumentAnimations::serviceBeforeGetComputedStyle(*styledNode, propertyI D); 1538 DocumentAnimations::serviceBeforeGetComputedStyle(*styledNode, propertyI D);
(...skipping 15 matching lines...) Expand all
1554 document.updateLayoutIgnorePendingStylesheets(); 1554 document.updateLayoutIgnorePendingStylesheets();
1555 styledNode = this->styledNode(); 1555 styledNode = this->styledNode();
1556 style = computeRenderStyle(propertyID); 1556 style = computeRenderStyle(propertyID);
1557 renderer = styledNode->renderer(); 1557 renderer = styledNode->renderer();
1558 } 1558 }
1559 } else { 1559 } else {
1560 style = computeRenderStyle(propertyID); 1560 style = computeRenderStyle(propertyID);
1561 } 1561 }
1562 1562
1563 if (!style) 1563 if (!style)
1564 return 0; 1564 return nullptr;
1565 1565
1566 propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style->d irection(), style->writingMode()); 1566 propertyID = CSSProperty::resolveDirectionAwareProperty(propertyID, style->d irection(), style->writingMode());
1567 1567
1568 switch (propertyID) { 1568 switch (propertyID) {
1569 case CSSPropertyInvalid: 1569 case CSSPropertyInvalid:
1570 break; 1570 break;
1571 1571
1572 case CSSPropertyBackgroundColor: 1572 case CSSPropertyBackgroundColor:
1573 return m_allowVisitedStyle ? cssValuePool().createColorValue(style-> visitedDependentColor(CSSPropertyBackgroundColor).rgb()) : currentColorOrValidCo lor(*style, style->backgroundColor()); 1573 return m_allowVisitedStyle ? cssValuePool().createColorValue(style-> visitedDependentColor(CSSPropertyBackgroundColor).rgb()) : currentColorOrValidCo lor(*style, style->backgroundColor());
1574 case CSSPropertyBackgroundImage: 1574 case CSSPropertyBackgroundImage:
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1791 return cssValuePool().createValue(style->printColorAdjust()); 1791 return cssValuePool().createValue(style->printColorAdjust());
1792 case CSSPropertyWebkitColumnAxis: 1792 case CSSPropertyWebkitColumnAxis:
1793 return cssValuePool().createValue(style->columnAxis()); 1793 return cssValuePool().createValue(style->columnAxis());
1794 case CSSPropertyWebkitColumnCount: 1794 case CSSPropertyWebkitColumnCount:
1795 if (style->hasAutoColumnCount()) 1795 if (style->hasAutoColumnCount())
1796 return cssValuePool().createIdentifierValue(CSSValueAuto); 1796 return cssValuePool().createIdentifierValue(CSSValueAuto);
1797 return cssValuePool().createValue(style->columnCount(), CSSPrimitive Value::CSS_NUMBER); 1797 return cssValuePool().createValue(style->columnCount(), CSSPrimitive Value::CSS_NUMBER);
1798 case CSSPropertyColumnFill: 1798 case CSSPropertyColumnFill:
1799 if (RuntimeEnabledFeatures::regionBasedColumnsEnabled()) 1799 if (RuntimeEnabledFeatures::regionBasedColumnsEnabled())
1800 return cssValuePool().createValue(style->columnFill()); 1800 return cssValuePool().createValue(style->columnFill());
1801 return 0; 1801 return nullptr;
1802 case CSSPropertyWebkitColumnGap: 1802 case CSSPropertyWebkitColumnGap:
1803 if (style->hasNormalColumnGap()) 1803 if (style->hasNormalColumnGap())
1804 return cssValuePool().createIdentifierValue(CSSValueNormal); 1804 return cssValuePool().createIdentifierValue(CSSValueNormal);
1805 return zoomAdjustedPixelValue(style->columnGap(), *style); 1805 return zoomAdjustedPixelValue(style->columnGap(), *style);
1806 case CSSPropertyWebkitColumnProgression: 1806 case CSSPropertyWebkitColumnProgression:
1807 return cssValuePool().createValue(style->columnProgression()); 1807 return cssValuePool().createValue(style->columnProgression());
1808 case CSSPropertyWebkitColumnRuleColor: 1808 case CSSPropertyWebkitColumnRuleColor:
1809 return m_allowVisitedStyle ? cssValuePool().createColorValue(style-> visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor (*style, style->columnRuleColor()); 1809 return m_allowVisitedStyle ? cssValuePool().createColorValue(style-> visitedDependentColor(CSSPropertyOutlineColor).rgb()) : currentColorOrValidColor (*style, style->columnRuleColor());
1810 case CSSPropertyWebkitColumnRuleStyle: 1810 case CSSPropertyWebkitColumnRuleStyle:
1811 return cssValuePool().createValue(style->columnRuleStyle()); 1811 return cssValuePool().createValue(style->columnRuleStyle());
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
2128 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPadd ingLeft(), *style); 2128 return zoomAdjustedPixelValue(toRenderBox(renderer)->computedCSSPadd ingLeft(), *style);
2129 } 2129 }
2130 case CSSPropertyPageBreakAfter: 2130 case CSSPropertyPageBreakAfter:
2131 return cssValuePool().createValue(style->pageBreakAfter()); 2131 return cssValuePool().createValue(style->pageBreakAfter());
2132 case CSSPropertyPageBreakBefore: 2132 case CSSPropertyPageBreakBefore:
2133 return cssValuePool().createValue(style->pageBreakBefore()); 2133 return cssValuePool().createValue(style->pageBreakBefore());
2134 case CSSPropertyPageBreakInside: { 2134 case CSSPropertyPageBreakInside: {
2135 EPageBreak pageBreak = style->pageBreakInside(); 2135 EPageBreak pageBreak = style->pageBreakInside();
2136 ASSERT(pageBreak != PBALWAYS); 2136 ASSERT(pageBreak != PBALWAYS);
2137 if (pageBreak == PBALWAYS) 2137 if (pageBreak == PBALWAYS)
2138 return 0; 2138 return nullptr;
2139 return cssValuePool().createValue(style->pageBreakInside()); 2139 return cssValuePool().createValue(style->pageBreakInside());
2140 } 2140 }
2141 case CSSPropertyPosition: 2141 case CSSPropertyPosition:
2142 return cssValuePool().createValue(style->position()); 2142 return cssValuePool().createValue(style->position());
2143 case CSSPropertyRight: 2143 case CSSPropertyRight:
2144 return valueForPositionOffset(*style, CSSPropertyRight, renderer); 2144 return valueForPositionOffset(*style, CSSPropertyRight, renderer);
2145 case CSSPropertyWebkitRubyPosition: 2145 case CSSPropertyWebkitRubyPosition:
2146 return cssValuePool().createValue(style->rubyPosition()); 2146 return cssValuePool().createValue(style->rubyPosition());
2147 case CSSPropertyScrollBehavior: 2147 case CSSPropertyScrollBehavior:
2148 return cssValuePool().createValue(style->scrollBehavior()); 2148 return cssValuePool().createValue(style->scrollBehavior());
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
2243 case TOP: 2243 case TOP:
2244 return cssValuePool().createIdentifierValue(CSSValueTop); 2244 return cssValuePool().createIdentifierValue(CSSValueTop);
2245 case BOTTOM: 2245 case BOTTOM:
2246 return cssValuePool().createIdentifierValue(CSSValueBottom); 2246 return cssValuePool().createIdentifierValue(CSSValueBottom);
2247 case BASELINE_MIDDLE: 2247 case BASELINE_MIDDLE:
2248 return cssValuePool().createIdentifierValue(CSSValueWebkitBa selineMiddle); 2248 return cssValuePool().createIdentifierValue(CSSValueWebkitBa selineMiddle);
2249 case LENGTH: 2249 case LENGTH:
2250 return cssValuePool().createValue(style->verticalAlignLength ()); 2250 return cssValuePool().createValue(style->verticalAlignLength ());
2251 } 2251 }
2252 ASSERT_NOT_REACHED(); 2252 ASSERT_NOT_REACHED();
2253 return 0; 2253 return nullptr;
2254 case CSSPropertyVisibility: 2254 case CSSPropertyVisibility:
2255 return cssValuePool().createValue(style->visibility()); 2255 return cssValuePool().createValue(style->visibility());
2256 case CSSPropertyWhiteSpace: 2256 case CSSPropertyWhiteSpace:
2257 return cssValuePool().createValue(style->whiteSpace()); 2257 return cssValuePool().createValue(style->whiteSpace());
2258 case CSSPropertyWidows: 2258 case CSSPropertyWidows:
2259 if (style->hasAutoWidows()) 2259 if (style->hasAutoWidows())
2260 return cssValuePool().createIdentifierValue(CSSValueAuto); 2260 return cssValuePool().createIdentifierValue(CSSValueAuto);
2261 return cssValuePool().createValue(style->widows(), CSSPrimitiveValue ::CSS_NUMBER); 2261 return cssValuePool().createValue(style->widows(), CSSPrimitiveValue ::CSS_NUMBER);
2262 case CSSPropertyWidth: 2262 case CSSPropertyWidth:
2263 if (renderer) { 2263 if (renderer) {
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
2662 return list.release(); 2662 return list.release();
2663 } 2663 }
2664 case CSSPropertyBackground: 2664 case CSSPropertyBackground:
2665 return valuesForBackgroundShorthand(); 2665 return valuesForBackgroundShorthand();
2666 case CSSPropertyBorder: { 2666 case CSSPropertyBorder: {
2667 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(CSSProperty BorderTop, DoNotUpdateLayout); 2667 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(CSSProperty BorderTop, DoNotUpdateLayout);
2668 const CSSPropertyID properties[3] = { CSSPropertyBorderRight, CSSPro pertyBorderBottom, 2668 const CSSPropertyID properties[3] = { CSSPropertyBorderRight, CSSPro pertyBorderBottom,
2669 CSSPropertyBorderLeft }; 2669 CSSPropertyBorderLeft };
2670 for (size_t i = 0; i < WTF_ARRAY_LENGTH(properties); ++i) { 2670 for (size_t i = 0; i < WTF_ARRAY_LENGTH(properties); ++i) {
2671 if (!compareCSSValuePtr<CSSValue>(value, getPropertyCSSValue(pro perties[i], DoNotUpdateLayout))) 2671 if (!compareCSSValuePtr<CSSValue>(value, getPropertyCSSValue(pro perties[i], DoNotUpdateLayout)))
2672 return 0; 2672 return nullptr;
2673 } 2673 }
2674 return value.release(); 2674 return value.release();
2675 } 2675 }
2676 case CSSPropertyBorderBottom: 2676 case CSSPropertyBorderBottom:
2677 return valuesForShorthandProperty(borderBottomShorthand()); 2677 return valuesForShorthandProperty(borderBottomShorthand());
2678 case CSSPropertyBorderColor: 2678 case CSSPropertyBorderColor:
2679 return valuesForSidesShorthand(borderColorShorthand()); 2679 return valuesForSidesShorthand(borderColorShorthand());
2680 case CSSPropertyBorderLeft: 2680 case CSSPropertyBorderLeft:
2681 return valuesForShorthandProperty(borderLeftShorthand()); 2681 return valuesForShorthandProperty(borderLeftShorthand());
2682 case CSSPropertyBorderImage: 2682 case CSSPropertyBorderImage:
(...skipping 19 matching lines...) Expand all
2702 case CSSPropertyOutline: 2702 case CSSPropertyOutline:
2703 return valuesForShorthandProperty(outlineShorthand()); 2703 return valuesForShorthandProperty(outlineShorthand());
2704 case CSSPropertyPadding: 2704 case CSSPropertyPadding:
2705 return valuesForSidesShorthand(paddingShorthand()); 2705 return valuesForSidesShorthand(paddingShorthand());
2706 /* Individual properties not part of the spec */ 2706 /* Individual properties not part of the spec */
2707 case CSSPropertyBackgroundRepeatX: 2707 case CSSPropertyBackgroundRepeatX:
2708 case CSSPropertyBackgroundRepeatY: 2708 case CSSPropertyBackgroundRepeatY:
2709 break; 2709 break;
2710 case CSSPropertyInternalCallback: 2710 case CSSPropertyInternalCallback:
2711 // This property is hidden from the web. 2711 // This property is hidden from the web.
2712 return 0; 2712 return nullptr;
2713 2713
2714 /* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */ 2714 /* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */
2715 case CSSPropertyWebkitTextEmphasis: 2715 case CSSPropertyWebkitTextEmphasis:
2716 case CSSPropertyTextLineThroughColor: 2716 case CSSPropertyTextLineThroughColor:
2717 case CSSPropertyTextLineThroughMode: 2717 case CSSPropertyTextLineThroughMode:
2718 case CSSPropertyTextLineThroughStyle: 2718 case CSSPropertyTextLineThroughStyle:
2719 case CSSPropertyTextLineThroughWidth: 2719 case CSSPropertyTextLineThroughWidth:
2720 case CSSPropertyTextOverlineColor: 2720 case CSSPropertyTextOverlineColor:
2721 case CSSPropertyTextOverlineMode: 2721 case CSSPropertyTextOverlineMode:
2722 case CSSPropertyTextOverlineStyle: 2722 case CSSPropertyTextOverlineStyle:
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
2794 case CSSPropertyUserZoom: 2794 case CSSPropertyUserZoom:
2795 break; 2795 break;
2796 2796
2797 // Internal properties that shouldn't be exposed throught getComputedSty le. 2797 // Internal properties that shouldn't be exposed throught getComputedSty le.
2798 case CSSPropertyInternalMarqueeDirection: 2798 case CSSPropertyInternalMarqueeDirection:
2799 case CSSPropertyInternalMarqueeIncrement: 2799 case CSSPropertyInternalMarqueeIncrement:
2800 case CSSPropertyInternalMarqueeRepetition: 2800 case CSSPropertyInternalMarqueeRepetition:
2801 case CSSPropertyInternalMarqueeSpeed: 2801 case CSSPropertyInternalMarqueeSpeed:
2802 case CSSPropertyInternalMarqueeStyle: 2802 case CSSPropertyInternalMarqueeStyle:
2803 ASSERT_NOT_REACHED(); 2803 ASSERT_NOT_REACHED();
2804 return 0; 2804 return nullptr;
2805 2805
2806 case CSSPropertyBufferedRendering: 2806 case CSSPropertyBufferedRendering:
2807 case CSSPropertyClipPath: 2807 case CSSPropertyClipPath:
2808 case CSSPropertyClipRule: 2808 case CSSPropertyClipRule:
2809 case CSSPropertyMask: 2809 case CSSPropertyMask:
2810 case CSSPropertyEnableBackground: 2810 case CSSPropertyEnableBackground:
2811 case CSSPropertyFilter: 2811 case CSSPropertyFilter:
2812 case CSSPropertyFloodColor: 2812 case CSSPropertyFloodColor:
2813 case CSSPropertyFloodOpacity: 2813 case CSSPropertyFloodOpacity:
2814 case CSSPropertyLightingColor: 2814 case CSSPropertyLightingColor:
(...skipping 27 matching lines...) Expand all
2842 case CSSPropertyGlyphOrientationVertical: 2842 case CSSPropertyGlyphOrientationVertical:
2843 case CSSPropertyKerning: 2843 case CSSPropertyKerning:
2844 case CSSPropertyTextAnchor: 2844 case CSSPropertyTextAnchor:
2845 case CSSPropertyVectorEffect: 2845 case CSSPropertyVectorEffect:
2846 case CSSPropertyPaintOrder: 2846 case CSSPropertyPaintOrder:
2847 case CSSPropertyWritingMode: 2847 case CSSPropertyWritingMode:
2848 return getSVGPropertyCSSValue(propertyID, DoNotUpdateLayout); 2848 return getSVGPropertyCSSValue(propertyID, DoNotUpdateLayout);
2849 } 2849 }
2850 2850
2851 logUnimplementedPropertyID(propertyID); 2851 logUnimplementedPropertyID(propertyID);
2852 return 0; 2852 return nullptr;
2853 } 2853 }
2854 2854
2855 String CSSComputedStyleDeclaration::getPropertyValue(CSSPropertyID propertyID) c onst 2855 String CSSComputedStyleDeclaration::getPropertyValue(CSSPropertyID propertyID) c onst
2856 { 2856 {
2857 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID); 2857 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID);
2858 if (value) 2858 if (value)
2859 return value->cssText(); 2859 return value->cssText();
2860 return ""; 2860 return "";
2861 } 2861 }
2862 2862
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2917 { 2917 {
2918 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ; 2918 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpaceSeparated() ;
2919 // Assume the properties are in the usual order top, right, bottom, left. 2919 // Assume the properties are in the usual order top, right, bottom, left.
2920 RefPtrWillBeRawPtr<CSSValue> topValue = getPropertyCSSValue(shorthand.proper ties()[0], DoNotUpdateLayout); 2920 RefPtrWillBeRawPtr<CSSValue> topValue = getPropertyCSSValue(shorthand.proper ties()[0], DoNotUpdateLayout);
2921 RefPtrWillBeRawPtr<CSSValue> rightValue = getPropertyCSSValue(shorthand.prop erties()[1], DoNotUpdateLayout); 2921 RefPtrWillBeRawPtr<CSSValue> rightValue = getPropertyCSSValue(shorthand.prop erties()[1], DoNotUpdateLayout);
2922 RefPtrWillBeRawPtr<CSSValue> bottomValue = getPropertyCSSValue(shorthand.pro perties()[2], DoNotUpdateLayout); 2922 RefPtrWillBeRawPtr<CSSValue> bottomValue = getPropertyCSSValue(shorthand.pro perties()[2], DoNotUpdateLayout);
2923 RefPtrWillBeRawPtr<CSSValue> leftValue = getPropertyCSSValue(shorthand.prope rties()[3], DoNotUpdateLayout); 2923 RefPtrWillBeRawPtr<CSSValue> leftValue = getPropertyCSSValue(shorthand.prope rties()[3], DoNotUpdateLayout);
2924 2924
2925 // All 4 properties must be specified. 2925 // All 4 properties must be specified.
2926 if (!topValue || !rightValue || !bottomValue || !leftValue) 2926 if (!topValue || !rightValue || !bottomValue || !leftValue)
2927 return 0; 2927 return nullptr;
2928 2928
2929 bool showLeft = !compareCSSValuePtr(rightValue, leftValue); 2929 bool showLeft = !compareCSSValuePtr(rightValue, leftValue);
2930 bool showBottom = !compareCSSValuePtr(topValue, bottomValue) || showLeft; 2930 bool showBottom = !compareCSSValuePtr(topValue, bottomValue) || showLeft;
2931 bool showRight = !compareCSSValuePtr(topValue, rightValue) || showBottom; 2931 bool showRight = !compareCSSValuePtr(topValue, rightValue) || showBottom;
2932 2932
2933 list->append(topValue.release()); 2933 list->append(topValue.release());
2934 if (showRight) 2934 if (showRight)
2935 list->append(rightValue.release()); 2935 list->append(rightValue.release());
2936 if (showBottom) 2936 if (showBottom)
2937 list->append(bottomValue.release()); 2937 list->append(bottomValue.release());
(...skipping 27 matching lines...) Expand all
2965 2965
2966 CSSRule* CSSComputedStyleDeclaration::parentRule() const 2966 CSSRule* CSSComputedStyleDeclaration::parentRule() const
2967 { 2967 {
2968 return 0; 2968 return 0;
2969 } 2969 }
2970 2970
2971 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu e(const String& propertyName) 2971 PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu e(const String& propertyName)
2972 { 2972 {
2973 CSSPropertyID propertyID = cssPropertyID(propertyName); 2973 CSSPropertyID propertyID = cssPropertyID(propertyName);
2974 if (!propertyID) 2974 if (!propertyID)
2975 return 0; 2975 return nullptr;
2976 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID); 2976 RefPtrWillBeRawPtr<CSSValue> value = getPropertyCSSValue(propertyID);
2977 return value ? value->cloneForCSSOM() : 0; 2977 return value ? value->cloneForCSSOM() : nullptr;
2978 } 2978 }
2979 2979
2980 String CSSComputedStyleDeclaration::getPropertyValue(const String& propertyName) 2980 String CSSComputedStyleDeclaration::getPropertyValue(const String& propertyName)
2981 { 2981 {
2982 CSSPropertyID propertyID = cssPropertyID(propertyName); 2982 CSSPropertyID propertyID = cssPropertyID(propertyName);
2983 if (!propertyID || !RuntimeCSSEnabled::isCSSPropertyEnabled(propertyID)) 2983 if (!propertyID || !RuntimeCSSEnabled::isCSSPropertyEnabled(propertyID))
2984 return String(); 2984 return String();
2985 return getPropertyValue(propertyID); 2985 return getPropertyValue(propertyID);
2986 } 2986 }
2987 2987
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3035 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin, 3035 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin,
3036 CSSPropertyB ackgroundClip }; 3036 CSSPropertyB ackgroundClip };
3037 3037
3038 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ; 3038 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ;
3039 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator)))); 3039 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator))));
3040 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator)))); 3040 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator))));
3041 return list.release(); 3041 return list.release();
3042 } 3042 }
3043 3043
3044 } // namespace WebCore 3044 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/css/CSSCanvasValue.cpp ('k') | Source/core/css/CSSCrossfadeValue.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698