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

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

Issue 2017053003: Remove StringBuilder::appendLiteral. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase. 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 * (C) 1999-2003 Lars Knoll (knoll@kde.org) 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r ights reserved.
4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. 4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved.
5 * Copyright (C) 2013 Intel Corporation. All rights reserved. 5 * Copyright (C) 2013 Intel Corporation. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 { 178 {
179 ASSERT(property.id() == CSSPropertyVariable); 179 ASSERT(property.id() == CSSPropertyVariable);
180 StringBuilder result; 180 StringBuilder result;
181 if (isNotFirstDecl) 181 if (isNotFirstDecl)
182 result.append(' '); 182 result.append(' ');
183 const CSSCustomPropertyDeclaration* value = toCSSCustomPropertyDeclaration(p roperty.value()); 183 const CSSCustomPropertyDeclaration* value = toCSSCustomPropertyDeclaration(p roperty.value());
184 result.append(value->name()); 184 result.append(value->name());
185 result.append(':'); 185 result.append(':');
186 result.append(value->customCSSText()); 186 result.append(value->customCSSText());
187 if (property.isImportant()) 187 if (property.isImportant())
188 result.appendLiteral(" !important"); 188 result.append(" !important");
189 result.append(';'); 189 result.append(';');
190 return result.toString(); 190 return result.toString();
191 } 191 }
192 192
193 static String getApplyAtRuleText(const CSSValue* value, bool isNotFirstDecl) 193 static String getApplyAtRuleText(const CSSValue* value, bool isNotFirstDecl)
194 { 194 {
195 StringBuilder result; 195 StringBuilder result;
196 if (isNotFirstDecl) 196 if (isNotFirstDecl)
197 result.append(' '); 197 result.append(' ');
198 result.appendLiteral("@apply "); 198 result.append("@apply ");
199 result.append(toCSSCustomIdentValue(value)->value()); 199 result.append(toCSSCustomIdentValue(value)->value());
200 result.append(';'); 200 result.append(';');
201 return result.toString(); 201 return result.toString();
202 } 202 }
203 203
204 String StylePropertySerializer::getPropertyText(CSSPropertyID propertyID, const String& value, bool isImportant, bool isNotFirstDecl) const 204 String StylePropertySerializer::getPropertyText(CSSPropertyID propertyID, const String& value, bool isImportant, bool isNotFirstDecl) const
205 { 205 {
206 StringBuilder result; 206 StringBuilder result;
207 if (isNotFirstDecl) 207 if (isNotFirstDecl)
208 result.append(' '); 208 result.append(' ');
209 result.append(getPropertyName(propertyID)); 209 result.append(getPropertyName(propertyID));
210 result.appendLiteral(": "); 210 result.append(": ");
211 result.append(value); 211 result.append(value);
212 if (isImportant) 212 if (isImportant)
213 result.appendLiteral(" !important"); 213 result.append(" !important");
214 result.append(';'); 214 result.append(';');
215 return result.toString(); 215 return result.toString();
216 } 216 }
217 217
218 String StylePropertySerializer::asText() const 218 String StylePropertySerializer::asText() const
219 { 219 {
220 StringBuilder result; 220 StringBuilder result;
221 221
222 std::bitset<numCSSProperties> longhandSerialized; 222 std::bitset<numCSSProperties> longhandSerialized;
223 std::bitset<numCSSProperties> shorthandAppeared; 223 std::bitset<numCSSProperties> shorthandAppeared;
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 property = shorthand.properties()[++propertyIndex]; 735 property = shorthand.properties()[++propertyIndex];
736 } else if (xId == CSSValueNoRepeat && yId == CSSValueRepeat) { 736 } else if (xId == CSSValueNoRepeat && yId == CSSValueRepeat) {
737 useRepeatYShorthand = true; 737 useRepeatYShorthand = true;
738 property = shorthand.properties()[++propertyIndex]; 738 property = shorthand.properties()[++propertyIndex];
739 } 739 }
740 } 740 }
741 741
742 if (!(value->isInitialValue() && toCSSInitialValue(value)->isImplici t())) { 742 if (!(value->isInitialValue() && toCSSInitialValue(value)->isImplici t())) {
743 if (property == CSSPropertyBackgroundSize || property == CSSProp ertyWebkitMaskSize) { 743 if (property == CSSPropertyBackgroundSize || property == CSSProp ertyWebkitMaskSize) {
744 if (foundPositionYCSSProperty || foundPositionXCSSProperty) 744 if (foundPositionYCSSProperty || foundPositionXCSSProperty)
745 layerResult.appendLiteral(" / "); 745 layerResult.append(" / ");
746 else 746 else
747 layerResult.appendLiteral(" 0% 0% / "); 747 layerResult.append(" 0% 0% / ");
748 } else if (!layerResult.isEmpty()) { 748 } else if (!layerResult.isEmpty()) {
749 // Do this second to avoid ending up with an extra space in the output if we hit the continue above. 749 // Do this second to avoid ending up with an extra space in the output if we hit the continue above.
750 layerResult.append(' '); 750 layerResult.append(' ');
751 } 751 }
752 752
753 if (useRepeatXShorthand) { 753 if (useRepeatXShorthand) {
754 useRepeatXShorthand = false; 754 useRepeatXShorthand = false;
755 layerResult.append(getValueName(CSSValueRepeatX)); 755 layerResult.append(getValueName(CSSValueRepeatX));
756 } else if (useRepeatYShorthand) { 756 } else if (useRepeatYShorthand) {
757 useRepeatYShorthand = false; 757 useRepeatYShorthand = false;
758 layerResult.append(getValueName(CSSValueRepeatY)); 758 layerResult.append(getValueName(CSSValueRepeatY));
759 } else { 759 } else {
760 if (useSingleWordShorthand) 760 if (useSingleWordShorthand)
761 useSingleWordShorthand = false; 761 useSingleWordShorthand = false;
762 layerResult.append(value->cssText()); 762 layerResult.append(value->cssText());
763 } 763 }
764 if (property == CSSPropertyBackgroundPositionX || property == CS SPropertyWebkitMaskPositionX) 764 if (property == CSSPropertyBackgroundPositionX || property == CS SPropertyWebkitMaskPositionX)
765 foundPositionXCSSProperty = true; 765 foundPositionXCSSProperty = true;
766 if (property == CSSPropertyBackgroundPositionY || property == CS SPropertyWebkitMaskPositionY) { 766 if (property == CSSPropertyBackgroundPositionY || property == CS SPropertyWebkitMaskPositionY) {
767 foundPositionYCSSProperty = true; 767 foundPositionYCSSProperty = true;
768 // background-position is a special case. If only the first offset is specified, 768 // background-position is a special case. If only the first offset is specified,
769 // the second one defaults to "center", not the same value. 769 // the second one defaults to "center", not the same value.
770 } 770 }
771 } 771 }
772 } 772 }
773 if (!layerResult.isEmpty()) { 773 if (!layerResult.isEmpty()) {
774 if (!result.isEmpty()) 774 if (!result.isEmpty())
775 result.appendLiteral(", "); 775 result.append(", ");
776 result.append(layerResult); 776 result.append(layerResult);
777 } 777 }
778 } 778 }
779 779
780 return result.toString(); 780 return result.toString();
781 } 781 }
782 782
783 String StylePropertySerializer::getShorthandValue(const StylePropertyShorthand& shorthand, String separator) const 783 String StylePropertySerializer::getShorthandValue(const StylePropertyShorthand& shorthand, String separator) const
784 { 784 {
785 StringBuilder result; 785 StringBuilder result;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
832 { 832 {
833 // FIXME: Ensure initial values do not appear in CSS_VALUE_LISTS. 833 // FIXME: Ensure initial values do not appear in CSS_VALUE_LISTS.
834 DEFINE_STATIC_LOCAL(CSSPrimitiveValue, initialRepeatValue, (CSSPrimitiveValu e::createIdentifier(CSSValueRepeat))); 834 DEFINE_STATIC_LOCAL(CSSPrimitiveValue, initialRepeatValue, (CSSPrimitiveValu e::createIdentifier(CSSValueRepeat)));
835 const CSSPrimitiveValue& repeatX = repeatXCSSValue.isInitialValue() ? initia lRepeatValue : toCSSPrimitiveValue(repeatXCSSValue); 835 const CSSPrimitiveValue& repeatX = repeatXCSSValue.isInitialValue() ? initia lRepeatValue : toCSSPrimitiveValue(repeatXCSSValue);
836 const CSSPrimitiveValue& repeatY = repeatYCSSValue.isInitialValue() ? initia lRepeatValue : toCSSPrimitiveValue(repeatYCSSValue); 836 const CSSPrimitiveValue& repeatY = repeatYCSSValue.isInitialValue() ? initia lRepeatValue : toCSSPrimitiveValue(repeatYCSSValue);
837 CSSValueID repeatXValueId = repeatX.getValueID(); 837 CSSValueID repeatXValueId = repeatX.getValueID();
838 CSSValueID repeatYValueId = repeatY.getValueID(); 838 CSSValueID repeatYValueId = repeatY.getValueID();
839 if (repeatXValueId == repeatYValueId) { 839 if (repeatXValueId == repeatYValueId) {
840 builder.append(repeatX.cssText()); 840 builder.append(repeatX.cssText());
841 } else if (repeatXValueId == CSSValueNoRepeat && repeatYValueId == CSSValueR epeat) { 841 } else if (repeatXValueId == CSSValueNoRepeat && repeatYValueId == CSSValueR epeat) {
842 builder.appendLiteral("repeat-y"); 842 builder.append("repeat-y");
843 } else if (repeatXValueId == CSSValueRepeat && repeatYValueId == CSSValueNoR epeat) { 843 } else if (repeatXValueId == CSSValueRepeat && repeatYValueId == CSSValueNoR epeat) {
844 builder.appendLiteral("repeat-x"); 844 builder.append("repeat-x");
845 } else { 845 } else {
846 builder.append(repeatX.cssText()); 846 builder.append(repeatX.cssText());
847 builder.appendLiteral(" "); 847 builder.append(" ");
848 builder.append(repeatY.cssText()); 848 builder.append(repeatY.cssText());
849 } 849 }
850 } 850 }
851 851
852 String StylePropertySerializer::backgroundRepeatPropertyValue() const 852 String StylePropertySerializer::backgroundRepeatPropertyValue() const
853 { 853 {
854 const CSSValue* repeatX = m_propertySet.getPropertyCSSValue(CSSPropertyBackg roundRepeatX); 854 const CSSValue* repeatX = m_propertySet.getPropertyCSSValue(CSSPropertyBackg roundRepeatX);
855 const CSSValue* repeatY = m_propertySet.getPropertyCSSValue(CSSPropertyBackg roundRepeatY); 855 const CSSValue* repeatY = m_propertySet.getPropertyCSSValue(CSSPropertyBackg roundRepeatY);
856 856
857 const CSSValueList* repeatXList = 0; 857 const CSSValueList* repeatXList = 0;
(...skipping 11 matching lines...) Expand all
869 repeatYList = toCSSValueList(repeatY); 869 repeatYList = toCSSValueList(repeatY);
870 repeatYLength = repeatYList->length(); 870 repeatYLength = repeatYList->length();
871 } else if (!repeatY->isPrimitiveValue()) { 871 } else if (!repeatY->isPrimitiveValue()) {
872 return String(); 872 return String();
873 } 873 }
874 874
875 size_t shorthandLength = lowestCommonMultiple(repeatXLength, repeatYLength); 875 size_t shorthandLength = lowestCommonMultiple(repeatXLength, repeatYLength);
876 StringBuilder builder; 876 StringBuilder builder;
877 for (size_t i = 0; i < shorthandLength; ++i) { 877 for (size_t i = 0; i < shorthandLength; ++i) {
878 if (i) 878 if (i)
879 builder.appendLiteral(", "); 879 builder.append(", ");
880 880
881 const CSSValue* xValue = repeatXList ? repeatXList->item(i % repeatXList ->length()) : repeatX; 881 const CSSValue* xValue = repeatXList ? repeatXList->item(i % repeatXList ->length()) : repeatX;
882 const CSSValue* yValue = repeatYList ? repeatYList->item(i % repeatYList ->length()) : repeatY; 882 const CSSValue* yValue = repeatYList ? repeatYList->item(i % repeatYList ->length()) : repeatY;
883 appendBackgroundRepeatValue(builder, *xValue, *yValue); 883 appendBackgroundRepeatValue(builder, *xValue, *yValue);
884 } 884 }
885 return builder.toString(); 885 return builder.toString();
886 } 886 }
887 887
888 } // namespace blink 888 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/MediaQuerySetTest.cpp ('k') | third_party/WebKit/Source/core/css/StyleRuleKeyframe.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698