Commit ec410764 authored by Fredrik Söderqvist's avatar Fredrik Söderqvist Committed by Commit Bot

Shrink SVGAngle::ValueAsString

This method is heavier than it needs to be. Rework it to be more size-
efficient.

Change-Id: I1c1a69b15ac4c018b6ab388e1ba283f049c13780
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2391258
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Reviewed-by: default avatarStephen Chenney <schenney@chromium.org>
Cr-Commit-Position: refs/heads/master@{#804765}
parent ee81068e
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "third_party/blink/renderer/platform/heap/heap.h" #include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h" #include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/character_visitor.h" #include "third_party/blink/renderer/platform/wtf/text/character_visitor.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h" #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace blink { namespace blink {
...@@ -166,30 +167,28 @@ static SVGAngle::SVGAngleType StringToAngleType(const CharType*& ptr, ...@@ -166,30 +167,28 @@ static SVGAngle::SVGAngleType StringToAngleType(const CharType*& ptr,
} }
String SVGAngle::ValueAsString() const { String SVGAngle::ValueAsString() const {
const char* unit_string = "";
switch (unit_type_) { switch (unit_type_) {
case kSvgAngletypeDeg: { case kSvgAngletypeDeg:
DEFINE_STATIC_LOCAL(String, deg_string, ("deg")); unit_string = "deg";
return String::Number(value_in_specified_units_) + deg_string; break;
} case kSvgAngletypeRad:
case kSvgAngletypeRad: { unit_string = "rad";
DEFINE_STATIC_LOCAL(String, rad_string, ("rad")); break;
return String::Number(value_in_specified_units_) + rad_string; case kSvgAngletypeGrad:
} unit_string = "grad";
case kSvgAngletypeGrad: { break;
DEFINE_STATIC_LOCAL(String, grad_string, ("grad")); case kSvgAngletypeTurn:
return String::Number(value_in_specified_units_) + grad_string; unit_string = "turn";
} break;
case kSvgAngletypeTurn: {
DEFINE_STATIC_LOCAL(String, turn_string, ("turn"));
return String::Number(value_in_specified_units_) + turn_string;
}
case kSvgAngletypeUnspecified: case kSvgAngletypeUnspecified:
case kSvgAngletypeUnknown: case kSvgAngletypeUnknown:
return String::Number(value_in_specified_units_); break;
} }
StringBuilder builder;
NOTREACHED(); builder.AppendNumber(value_in_specified_units_);
return String(); builder.Append(unit_string, strlen(unit_string));
return builder.ToString();
} }
template <typename CharType> template <typename CharType>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment