summaryrefslogtreecommitdiffstats
path: root/WebCore/svg/SVGNumberList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/svg/SVGNumberList.cpp')
-rw-r--r--WebCore/svg/SVGNumberList.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/WebCore/svg/SVGNumberList.cpp b/WebCore/svg/SVGNumberList.cpp
index 96fe55f..a1dc430 100644
--- a/WebCore/svg/SVGNumberList.cpp
+++ b/WebCore/svg/SVGNumberList.cpp
@@ -24,45 +24,39 @@
#include "SVGNumberList.h"
#include "SVGParserUtilities.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
-SVGNumberList::SVGNumberList(const QualifiedName& attributeName)
- : SVGPODList<float>(attributeName)
-{
-}
-
void SVGNumberList::parse(const String& value)
{
- ExceptionCode ec = 0;
- clear(ec);
+ clear();
- float number = 0.0f;
-
+ float number = 0;
const UChar* ptr = value.characters();
const UChar* end = ptr + value.length();
+
// The spec strangely doesn't allow leading whitespace. We might choose to violate that intentionally. (section 4.1)
while (ptr < end) {
if (!parseNumber(ptr, end, number))
return;
- appendItem(number, ec);
+ append(number);
}
}
String SVGNumberList::valueAsString() const
{
- String result;
+ StringBuilder builder;
- ExceptionCode ec = 0;
- for (unsigned int i = 0; i < numberOfItems(); ++i) {
+ unsigned size = this->size();
+ for (unsigned i = 0; i < size; ++i) {
if (i > 0)
- result += ", ";
+ builder.append(", ");
- result += String::number(getItem(i, ec));
- ASSERT(ec == 0);
+ builder.append(String::number(at(i)));
}
- return result;
+ return builder.toString();
}
}