Changeset 245504 in webkit
- Timestamp:
- May 19, 2019, 11:17:40 AM (7 years ago)
- Location:
- trunk
- Files:
-
- 15 edited
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/text/StringBuilder.h (modified) (3 diffs)
-
Source/WTF/wtf/text/WTFString.h (modified) (3 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp (modified) (1 diff)
-
Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp (modified) (1 diff)
-
Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp (modified) (5 diffs)
-
Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp (modified) (1 diff)
-
Source/WebCore/svg/SVGNumberList.h (modified) (1 diff)
-
Source/WebCore/svg/SVGPathUtilities.cpp (modified) (1 diff)
-
Source/WebCore/svg/SVGPointList.h (modified) (1 diff)
-
Source/WebCore/svg/SVGTransformValue.h (modified) (3 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/TestWebKitAPI/Tests/WTF/WTFString.cpp (modified) (1 diff)
-
Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r245499 r245504 1 2019-05-19 Darin Adler <darin@apple.com> 2 3 Change String::number to use "shortest" instead of "fixed precision 6 digits" 4 https://bugs.webkit.org/show_bug.cgi?id=178319 5 6 Reviewed by Sam Weinig. 7 8 * wtf/text/StringBuilder.h: Delete appendNumber for floating point and 9 appendECMAScriptNumber for single-precision. 10 11 * wtf/text/WTFString.h: Delete String::number for floating point and 12 numberToStringECMAScript for single-precision. 13 1 14 2019-05-18 Tadeu Zagallo <tzagallo@apple.com> 2 15 -
trunk/Source/WTF/wtf/text/StringBuilder.h
r244429 r245504 223 223 WTF_EXPORT_PRIVATE void appendNumber(long long); 224 224 WTF_EXPORT_PRIVATE void appendNumber(unsigned long long); 225 // FIXME: Change appendNumber to be appendShortestFormNumber instead of appendFixedPrecisionNumber.226 void appendNumber(float) ;227 void appendNumber(double , unsigned precision = 6, TrailingZerosTruncatingPolicy = TruncateTrailingZeros);225 // FIXME: Change to call appendShortestFormNumber. 226 void appendNumber(float) = delete; 227 void appendNumber(double) = delete; 228 228 229 229 WTF_EXPORT_PRIVATE void appendShortestFormNumber(float); … … 235 235 236 236 // FIXME: Delete in favor of the name appendShortestFormNumber or just appendNumber. 237 void appendECMAScriptNumber(float) ;237 void appendECMAScriptNumber(float) = delete; 238 238 void appendECMAScriptNumber(double); 239 239 … … 395 395 } 396 396 397 inline void StringBuilder::appendNumber(float number)398 {399 appendFixedPrecisionNumber(number);400 }401 402 inline void StringBuilder::appendNumber(double number, unsigned precision, TrailingZerosTruncatingPolicy policy)403 {404 appendFixedPrecisionNumber(number, precision, policy);405 }406 407 inline void StringBuilder::appendECMAScriptNumber(float number)408 {409 // FIXME: This preserves existing behavior but is not what we want.410 // In the future, this should either be a compilation error or call appendShortestFormNumber without converting to double.411 appendShortestFormNumber(static_cast<double>(number));412 }413 414 397 inline void StringBuilder::appendECMAScriptNumber(double number) 415 398 { -
trunk/Source/WTF/wtf/text/WTFString.h
r242592 r245504 180 180 WTF_EXPORT_PRIVATE static String number(long long); 181 181 WTF_EXPORT_PRIVATE static String number(unsigned long long); 182 // FIXME: Change number to be numberToStringShortest instead of numberToStringFixedPrecision.183 static String number(float) ;184 static String number(double , unsigned precision = 6, TrailingZerosTruncatingPolicy = TruncateTrailingZeros);182 // FIXME: Change to call numberToStringShortest. 183 static String number(float) = delete; 184 static String number(double) = delete; 185 185 186 186 WTF_EXPORT_PRIVATE static String numberToStringShortest(float); … … 192 192 193 193 // FIXME: Delete in favor of the name numberToStringShortest or just number. 194 static String numberToStringECMAScript(float) ;194 static String numberToStringECMAScript(float) = delete; 195 195 static String numberToStringECMAScript(double); 196 196 … … 653 653 { 654 654 return startsWithLettersIgnoringASCIICase(string.impl(), lowercaseLetters); 655 }656 657 inline String String::number(float number)658 {659 return numberToStringFixedPrecision(number);660 }661 662 inline String String::number(double number, unsigned precision, TrailingZerosTruncatingPolicy policy)663 {664 return numberToStringFixedPrecision(number, precision, policy);665 }666 667 inline String String::numberToStringECMAScript(float number)668 {669 // FIXME: This preserves existing behavior but is not what we want.670 // In the future, this should either be a compilation error or call numberToStringShortest without converting to double.671 return numberToStringShortest(static_cast<double>(number));672 655 } 673 656 -
trunk/Source/WebCore/ChangeLog
r245502 r245504 1 2019-05-19 Darin Adler <darin@apple.com> 2 3 Change String::number to use "shortest" instead of "fixed precision 6 digits" 4 https://bugs.webkit.org/show_bug.cgi?id=178319 5 6 Reviewed by Sam Weinig. 7 8 * accessibility/atk/WebKitAccessibleInterfaceValue.cpp: 9 (webkitAccessibleSetNewValue): Use String::numberToStringFixedPrecision 10 instead of String::number to be explicit about the fact that it's fixed precision. 11 * page/linux/ResourceUsageOverlayLinux.cpp: 12 (gcTimerString): Ditto. 13 14 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 15 (printTransform): Use appendFixedPrecisionNumber instead of appendNumber 16 to be explicit about the fact that it's fixed precision. 17 (printLayer): Ditto. 18 (WebCore::PlatformCALayerWin::layerTreeAsString const): Ditto. 19 * platform/graphics/freetype/FontCacheFreeType.cpp: 20 (buildVariationSettings): Ditto. 21 22 * svg/SVGNumberList.h: Use appendFixedPrecisionNumber instead of appendNumber 23 to be explicit about the fact that it's fixed precision. We'll consider moving 24 to shortest later. 25 26 * svg/SVGPathUtilities.cpp: 27 (WebCore::buildStringFromPath): Use appendNumberShortest instead of 28 appendNumberECMAScript since these are single-precision. 29 30 * svg/SVGPointList.h: Use appendFixedPrecisionNumber instead of appendNumber 31 to be explicit about the fact that it's fixed precision. We'll consider moving 32 to shortest later. 33 * svg/SVGTransformValue.h: Ditto. 34 1 35 2019-05-19 Simon Fraser <simon.fraser@apple.com> 2 36 -
trunk/Source/WebCore/accessibility/atk/WebKitAccessibleInterfaceValue.cpp
r243970 r245504 50 50 value = std::min(static_cast<double>(coreObject->maxValueForRange()), newValue); 51 51 52 coreObject->setValue(String::number (value));52 coreObject->setValue(String::numberToStringFixedPrecision(value)); 53 53 return TRUE; 54 54 } -
trunk/Source/WebCore/page/linux/ResourceUsageOverlayLinux.cpp
r242308 r245504 65 65 if (std::isnan(timerFireDate)) 66 66 return "[not scheduled]"_s; 67 return String::number ((timerFireDate - now).seconds());67 return String::numberToStringFixedPrecision((timerFireDate - now).seconds()); 68 68 } 69 69 -
trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp
r240918 r245504 705 705 { 706 706 builder.append('['); 707 builder.append Number(transform.m11);708 builder.append(' '); 709 builder.append Number(transform.m12);710 builder.append(' '); 711 builder.append Number(transform.m13);712 builder.append(' '); 713 builder.append Number(transform.m14);707 builder.appendFixedPrecisionNumber(transform.m11); 708 builder.append(' '); 709 builder.appendFixedPrecisionNumber(transform.m12); 710 builder.append(' '); 711 builder.appendFixedPrecisionNumber(transform.m13); 712 builder.append(' '); 713 builder.appendFixedPrecisionNumber(transform.m14); 714 714 builder.append("; "); 715 builder.append Number(transform.m21);716 builder.append(' '); 717 builder.append Number(transform.m22);718 builder.append(' '); 719 builder.append Number(transform.m23);720 builder.append(' '); 721 builder.append Number(transform.m24);715 builder.appendFixedPrecisionNumber(transform.m21); 716 builder.append(' '); 717 builder.appendFixedPrecisionNumber(transform.m22); 718 builder.append(' '); 719 builder.appendFixedPrecisionNumber(transform.m23); 720 builder.append(' '); 721 builder.appendFixedPrecisionNumber(transform.m24); 722 722 builder.append("; "); 723 builder.append Number(transform.m31);724 builder.append(' '); 725 builder.append Number(transform.m32);726 builder.append(' '); 727 builder.append Number(transform.m33);728 builder.append(' '); 729 builder.append Number(transform.m34);723 builder.appendFixedPrecisionNumber(transform.m31); 724 builder.append(' '); 725 builder.appendFixedPrecisionNumber(transform.m32); 726 builder.append(' '); 727 builder.appendFixedPrecisionNumber(transform.m33); 728 builder.append(' '); 729 builder.appendFixedPrecisionNumber(transform.m34); 730 730 builder.append("; "); 731 builder.append Number(transform.m41);732 builder.append(' '); 733 builder.append Number(transform.m42);734 builder.append(' '); 735 builder.append Number(transform.m43);736 builder.append(' '); 737 builder.append Number(transform.m44);731 builder.appendFixedPrecisionNumber(transform.m41); 732 builder.append(' '); 733 builder.appendFixedPrecisionNumber(transform.m42); 734 builder.append(' '); 735 builder.appendFixedPrecisionNumber(transform.m43); 736 builder.append(' '); 737 builder.appendFixedPrecisionNumber(transform.m44); 738 738 builder.append(']'); 739 739 } … … 786 786 builder.append(layerTypeName); 787 787 builder.append(" ["); 788 builder.append Number(layerPosition.x());789 builder.append(' '); 790 builder.append Number(layerPosition.y());791 builder.append(' '); 792 builder.append Number(layerPosition.z());788 builder.appendFixedPrecisionNumber(layerPosition.x()); 789 builder.append(' '); 790 builder.appendFixedPrecisionNumber(layerPosition.y()); 791 builder.append(' '); 792 builder.appendFixedPrecisionNumber(layerPosition.z()); 793 793 builder.append("] ["); 794 builder.append Number(layerBounds.x());795 builder.append(' '); 796 builder.append Number(layerBounds.y());797 builder.append(' '); 798 builder.append Number(layerBounds.width());799 builder.append(' '); 800 builder.append Number(layerBounds.height());794 builder.appendFixedPrecisionNumber(layerBounds.x()); 795 builder.append(' '); 796 builder.appendFixedPrecisionNumber(layerBounds.y()); 797 builder.append(' '); 798 builder.appendFixedPrecisionNumber(layerBounds.width()); 799 builder.append(' '); 800 builder.appendFixedPrecisionNumber(layerBounds.height()); 801 801 builder.append("] ["); 802 builder.append Number(layerAnchorPoint.x());803 builder.append(' '); 804 builder.append Number(layerAnchorPoint.y());805 builder.append(' '); 806 builder.append Number(layerAnchorPoint.z());802 builder.appendFixedPrecisionNumber(layerAnchorPoint.x()); 803 builder.append(' '); 804 builder.appendFixedPrecisionNumber(layerAnchorPoint.y()); 805 builder.append(' '); 806 builder.appendFixedPrecisionNumber(layerAnchorPoint.z()); 807 807 builder.append("] superlayer="); 808 808 builder.appendNumber(reinterpret_cast<unsigned long long>(layer->superlayer())); … … 823 823 printIndent(builder, indent + 1); 824 824 builder.append("(borderWidth "); 825 builder.append Number(borderWidth);825 builder.appendFixedPrecisionNumber(borderWidth); 826 826 builder.append(')'); 827 827 } … … 852 852 printIndent(builder, indent + 1); 853 853 builder.append("(opacity "); 854 builder.append Number(layerOpacity);854 builder.appendFixedPrecisionNumber(layerOpacity); 855 855 builder.append(')'); 856 856 } … … 928 928 StringBuilder builder; 929 929 builder.append("\n\n** Render tree at time "); 930 builder.append Number(MonotonicTime::now().secondsSinceEpoch().seconds());930 builder.appendFixedPrecisionNumber(MonotonicTime::now().secondsSinceEpoch().seconds()); 931 931 builder.append(" (bounds "); 932 builder.append Number(rootBounds.origin.x);932 builder.appendFixedPrecisionNumber(rootBounds.origin.x); 933 933 builder.append(", "); 934 builder.append Number(rootBounds.origin.y);935 builder.append(' '); 936 builder.append Number(rootBounds.size.width);934 builder.appendFixedPrecisionNumber(rootBounds.origin.y); 935 builder.append(' '); 936 builder.appendFixedPrecisionNumber(rootBounds.size.width); 937 937 builder.append('x'); 938 builder.append Number(rootBounds.size.height);938 builder.appendFixedPrecisionNumber(rootBounds.size.height); 939 939 builder.append(") **\n\n"); 940 940 -
trunk/Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp
r241012 r245504 523 523 builder.append(variation.key[3]); 524 524 builder.append('='); 525 builder.append Number(variation.value);525 builder.appendFixedPrecisionNumber(variation.value); 526 526 } 527 527 return builder.toString(); -
trunk/Source/WebCore/svg/SVGNumberList.h
r243362 r245504 79 79 builder.append(' '); 80 80 81 builder.append Number(number->value());81 builder.appendFixedPrecisionNumber(number->value()); 82 82 } 83 83 -
trunk/Source/WebCore/svg/SVGPathUtilities.cpp
r243555 r245504 61 61 case PathElementMoveToPoint: 62 62 builder.append('M'); 63 builder.append ECMAScriptNumber(element.points[0].x());64 builder.append(' '); 65 builder.append ECMAScriptNumber(element.points[0].y());63 builder.appendShortestFormNumber(element.points[0].x()); 64 builder.append(' '); 65 builder.appendShortestFormNumber(element.points[0].y()); 66 66 break; 67 67 case PathElementAddLineToPoint: 68 68 builder.append('L'); 69 builder.append ECMAScriptNumber(element.points[0].x());70 builder.append(' '); 71 builder.append ECMAScriptNumber(element.points[0].y());69 builder.appendShortestFormNumber(element.points[0].x()); 70 builder.append(' '); 71 builder.appendShortestFormNumber(element.points[0].y()); 72 72 break; 73 73 case PathElementAddQuadCurveToPoint: 74 74 builder.append('Q'); 75 builder.append ECMAScriptNumber(element.points[0].x());76 builder.append(' '); 77 builder.append ECMAScriptNumber(element.points[0].y());75 builder.appendShortestFormNumber(element.points[0].x()); 76 builder.append(' '); 77 builder.appendShortestFormNumber(element.points[0].y()); 78 78 builder.append(','); 79 builder.append ECMAScriptNumber(element.points[1].x());80 builder.append(' '); 81 builder.append ECMAScriptNumber(element.points[1].y());79 builder.appendShortestFormNumber(element.points[1].x()); 80 builder.append(' '); 81 builder.appendShortestFormNumber(element.points[1].y()); 82 82 break; 83 83 case PathElementAddCurveToPoint: 84 84 builder.append('C'); 85 builder.append ECMAScriptNumber(element.points[0].x());86 builder.append(' '); 87 builder.append ECMAScriptNumber(element.points[0].y());85 builder.appendShortestFormNumber(element.points[0].x()); 86 builder.append(' '); 87 builder.appendShortestFormNumber(element.points[0].y()); 88 88 builder.append(','); 89 builder.append ECMAScriptNumber(element.points[1].x());90 builder.append(' '); 91 builder.append ECMAScriptNumber(element.points[1].y());89 builder.appendShortestFormNumber(element.points[1].x()); 90 builder.append(' '); 91 builder.appendShortestFormNumber(element.points[1].y()); 92 92 builder.append(','); 93 builder.append ECMAScriptNumber(element.points[2].x());94 builder.append(' '); 95 builder.append ECMAScriptNumber(element.points[2].y());93 builder.appendShortestFormNumber(element.points[2].x()); 94 builder.append(' '); 95 builder.appendShortestFormNumber(element.points[2].y()); 96 96 break; 97 97 case PathElementCloseSubpath: -
trunk/Source/WebCore/svg/SVGPointList.h
r243336 r245504 94 94 builder.append(' '); 95 95 96 builder.append Number(point->x());96 builder.appendFixedPrecisionNumber(point->x()); 97 97 builder.append(' '); 98 builder.append Number(point->y());98 builder.appendFixedPrecisionNumber(point->y()); 99 99 } 100 100 -
trunk/Source/WebCore/svg/SVGTransformValue.h
r243730 r245504 230 230 231 231 private: 232 static void append Numbers(StringBuilder& builder)232 static void appendFixedPrecisionNumbers(StringBuilder& builder) 233 233 { 234 234 builder.append(')'); … … 236 236 237 237 template<typename Number, typename... Numbers> 238 static void append Numbers(StringBuilder& builder, Number number, Numbers... numbers)238 static void appendFixedPrecisionNumbers(StringBuilder& builder, Number number, Numbers... numbers) 239 239 { 240 240 if (builder.length() && builder[builder.length() - 1] != '(') 241 241 builder.append(' '); 242 builder.append Number(number);243 append Numbers(builder, numbers...);242 builder.appendFixedPrecisionNumber(number); 243 appendFixedPrecisionNumbers(builder, numbers...); 244 244 } 245 245 246 246 void appendMatrix(StringBuilder& builder) const 247 247 { 248 append Numbers(builder, m_matrix->a(), m_matrix->b(), m_matrix->c(), m_matrix->d(), m_matrix->e(), m_matrix->f());248 appendFixedPrecisionNumbers(builder, m_matrix->a(), m_matrix->b(), m_matrix->c(), m_matrix->d(), m_matrix->e(), m_matrix->f()); 249 249 } 250 250 251 251 void appendTranslate(StringBuilder& builder) const 252 252 { 253 append Numbers(builder, m_matrix->e(), m_matrix->f());253 appendFixedPrecisionNumbers(builder, m_matrix->e(), m_matrix->f()); 254 254 } 255 255 256 256 void appendScale(StringBuilder& builder) const 257 257 { 258 append Numbers(builder, m_matrix->value().xScale(), m_matrix->value().yScale());258 appendFixedPrecisionNumbers(builder, m_matrix->value().xScale(), m_matrix->value().yScale()); 259 259 } 260 260 … … 269 269 270 270 if (cx || cy) 271 append Numbers(builder, m_angle, cx, cy);271 appendFixedPrecisionNumbers(builder, m_angle, cx, cy); 272 272 else 273 append Numbers(builder, m_angle);273 appendFixedPrecisionNumbers(builder, m_angle); 274 274 } 275 275 276 276 void appendSkewX(StringBuilder& builder) const 277 277 { 278 append Numbers(builder, m_angle);278 appendFixedPrecisionNumbers(builder, m_angle); 279 279 } 280 280 281 281 void appendSkewY(StringBuilder& builder) const 282 282 { 283 append Numbers(builder, m_angle);283 appendFixedPrecisionNumbers(builder, m_angle); 284 284 } 285 285 -
trunk/Tools/ChangeLog
r245500 r245504 1 2019-05-19 Darin Adler <darin@apple.com> 2 3 Change String::number to use "shortest" instead of "fixed precision 6 digits" 4 https://bugs.webkit.org/show_bug.cgi?id=178319 5 6 Reviewed by Sam Weinig. 7 8 * TestWebKitAPI/Tests/WTF/WTFString.cpp: 9 (TestWebKitAPI::testStringNumberFixedPrecision): Use String::numberToStringFixedPrecision. 10 11 * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp: 12 (attributesOfElement): Use appendFixedPrecisionNumber. 13 1 14 2019-05-18 Jiewen Tan <jiewen_tan@apple.com> 2 15 -
trunk/Tools/TestWebKitAPI/Tests/WTF/WTFString.cpp
r237990 r245504 75 75 { 76 76 static char testBuffer[100] = { }; 77 std::strncpy(testBuffer, String::number (number).utf8().data(), 99);77 std::strncpy(testBuffer, String::numberToStringFixedPrecision(number).utf8().data(), 99); 78 78 return testBuffer; 79 79 } -
trunk/Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp
r244538 r245504 632 632 633 633 builder.appendLiteral("AXPosition: { "); 634 builder.append Number(element->x(), 6, KeepTrailingZeros);634 builder.appendFixedPrecisionNumber(element->x(), 6, KeepTrailingZeros); 635 635 builder.appendLiteral(", "); 636 builder.append Number(element->y(), 6, KeepTrailingZeros);636 builder.appendFixedPrecisionNumber(element->y(), 6, KeepTrailingZeros); 637 637 builder.appendLiteral(" }\n"); 638 638 639 639 builder.appendLiteral("AXSize: { "); 640 builder.append Number(element->width(), 6, KeepTrailingZeros);640 builder.appendFixedPrecisionNumber(element->width(), 6, KeepTrailingZeros); 641 641 builder.appendLiteral(", "); 642 builder.append Number(element->height(), 6, KeepTrailingZeros);642 builder.appendFixedPrecisionNumber(element->height(), 6, KeepTrailingZeros); 643 643 builder.appendLiteral(" }\n"); 644 644
Note:
See TracChangeset
for help on using the changeset viewer.