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

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

Issue 224723023: Implements hanging property for text-indent from CSS3 (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 8 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 * 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 2202 matching lines...) Expand 10 before | Expand all | Expand 10 after
2213 case TextEmphasisMarkDoubleCircle: 2213 case TextEmphasisMarkDoubleCircle:
2214 case TextEmphasisMarkTriangle: 2214 case TextEmphasisMarkTriangle:
2215 case TextEmphasisMarkSesame: { 2215 case TextEmphasisMarkSesame: {
2216 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated(); 2216 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated();
2217 list->append(cssValuePool().createValue(style->textEmphasisFill( ))); 2217 list->append(cssValuePool().createValue(style->textEmphasisFill( )));
2218 list->append(cssValuePool().createValue(style->textEmphasisMark( ))); 2218 list->append(cssValuePool().createValue(style->textEmphasisMark( )));
2219 return list.release(); 2219 return list.release();
2220 } 2220 }
2221 } 2221 }
2222 case CSSPropertyTextIndent: { 2222 case CSSPropertyTextIndent: {
2223 // If RuntimeEnabledFeatures::css3TextEnabled() returns false or tex t-indent has only one value(<length> | <percentage>),
2224 // getPropertyCSSValue() returns CSSValue.
2225 // If RuntimeEnabledFeatures::css3TextEnabled() returns true and tex t-indent has each-line or hanging,
2226 // getPropertyCSSValue() returns CSSValueList.
2223 RefPtrWillBeRawPtr<CSSValue> textIndent = zoomAdjustedPixelValueForL ength(style->textIndent(), *style); 2227 RefPtrWillBeRawPtr<CSSValue> textIndent = zoomAdjustedPixelValueForL ength(style->textIndent(), *style);
2224 if (RuntimeEnabledFeatures::css3TextEnabled() && style->textIndentLi ne() == TextIndentEachLine) { 2228 if (RuntimeEnabledFeatures::css3TextEnabled() && (style->textIndentL ine() == TextIndentEachLine || style->textIndentType() == TextIndentHanging)) {
2225 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated(); 2229 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSpac eSeparated();
2226 list->append(textIndent.release()); 2230 list->append(textIndent.release());
2227 list->append(cssValuePool().createIdentifierValue(CSSValueEachLi ne)); 2231 if (style->textIndentLine() == TextIndentEachLine)
2232 list->append(cssValuePool().createIdentifierValue(CSSValueEa chLine));
2233 if (style->textIndentType() == TextIndentHanging)
2234 list->append(cssValuePool().createIdentifierValue(CSSValueHa nging));
2228 return list.release(); 2235 return list.release();
2229 } 2236 }
2230 return textIndent.release(); 2237 return textIndent.release();
2231 } 2238 }
2232 case CSSPropertyTextShadow: 2239 case CSSPropertyTextShadow:
2233 return valueForShadowList(style->textShadow(), *style, false); 2240 return valueForShadowList(style->textShadow(), *style, false);
2234 case CSSPropertyTextRendering: 2241 case CSSPropertyTextRendering:
2235 return cssValuePool().createValue(style->fontDescription().textRende ring()); 2242 return cssValuePool().createValue(style->fontDescription().textRende ring());
2236 case CSSPropertyTextOverflow: 2243 case CSSPropertyTextOverflow:
2237 if (style->textOverflow()) 2244 if (style->textOverflow())
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after
3045 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin, 3052 static const CSSPropertyID propertiesAfterSlashSeperator[3] = { CSSPropertyB ackgroundSize, CSSPropertyBackgroundOrigin,
3046 CSSPropertyB ackgroundClip }; 3053 CSSPropertyB ackgroundClip };
3047 3054
3048 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ; 3055 RefPtrWillBeRawPtr<CSSValueList> list = CSSValueList::createSlashSeparated() ;
3049 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator)))); 3056 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesBeforeSlashSeperator, WTF_ARRAY_LENGTH(propertiesBeforeSlash Seperator))));
3050 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator)))); 3057 list->append(valuesForShorthandProperty(StylePropertyShorthand(CSSPropertyBa ckground, propertiesAfterSlashSeperator, WTF_ARRAY_LENGTH(propertiesAfterSlashSe perator))));
3051 return list.release(); 3058 return list.release();
3052 } 3059 }
3053 3060
3054 } // namespace WebCore 3061 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698