| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 #include "bindings/v8/ExceptionState.h" | 24 #include "bindings/v8/ExceptionState.h" |
| 25 #include "core/svg/SVGParserUtilities.h" | 25 #include "core/svg/SVGParserUtilities.h" |
| 26 #include "wtf/text/StringBuilder.h" | 26 #include "wtf/text/StringBuilder.h" |
| 27 | 27 |
| 28 namespace WebCore { | 28 namespace WebCore { |
| 29 | 29 |
| 30 template<typename CharType> | 30 template<typename CharType> |
| 31 void SVGLengthList::parseInternal(const CharType*& ptr, const CharType* end, SVG
LengthMode mode) | 31 void SVGLengthList::parseInternal(const CharType*& ptr, const CharType* end, SVG
LengthMode mode) |
| 32 { | 32 { |
| 33 TrackExceptionState es; | 33 TrackExceptionState exceptionState; |
| 34 | 34 |
| 35 while (ptr < end) { | 35 while (ptr < end) { |
| 36 const CharType* start = ptr; | 36 const CharType* start = ptr; |
| 37 while (ptr < end && *ptr != ',' && !isSVGSpace(*ptr)) | 37 while (ptr < end && *ptr != ',' && !isSVGSpace(*ptr)) |
| 38 ptr++; | 38 ptr++; |
| 39 if (ptr == start) | 39 if (ptr == start) |
| 40 break; | 40 break; |
| 41 | 41 |
| 42 SVGLength length(mode); | 42 SVGLength length(mode); |
| 43 String valueString(start, ptr - start); | 43 String valueString(start, ptr - start); |
| 44 if (valueString.isEmpty()) | 44 if (valueString.isEmpty()) |
| 45 return; | 45 return; |
| 46 length.setValueAsString(valueString, es); | 46 length.setValueAsString(valueString, exceptionState); |
| 47 if (es.hadException()) | 47 if (exceptionState.hadException()) |
| 48 return; | 48 return; |
| 49 append(length); | 49 append(length); |
| 50 skipOptionalSVGSpacesOrDelimiter(ptr, end); | 50 skipOptionalSVGSpacesOrDelimiter(ptr, end); |
| 51 } | 51 } |
| 52 } | 52 } |
| 53 | 53 |
| 54 void SVGLengthList::parse(const String& value, SVGLengthMode mode) | 54 void SVGLengthList::parse(const String& value, SVGLengthMode mode) |
| 55 { | 55 { |
| 56 clear(); | 56 clear(); |
| 57 if (value.isEmpty()) | 57 if (value.isEmpty()) |
| (...skipping 18 matching lines...) Expand all Loading... |
| 76 if (i > 0) | 76 if (i > 0) |
| 77 builder.append(' '); | 77 builder.append(' '); |
| 78 | 78 |
| 79 builder.append(at(i).valueAsString()); | 79 builder.append(at(i).valueAsString()); |
| 80 } | 80 } |
| 81 | 81 |
| 82 return builder.toString(); | 82 return builder.toString(); |
| 83 } | 83 } |
| 84 | 84 |
| 85 } | 85 } |
| OLD | NEW |