aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/svg/model/SkSVGAttributeParser.cpp
diff options
context:
space:
mode:
authorGravatar fmalita <fmalita@chromium.org>2016-08-08 13:58:50 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-08 13:58:50 -0700
commit61f36b37084e7b1c80cfc485825588604a401c9a (patch)
tree335bf7fd27c8950b339f5757f47b86daca0ccfd6 /experimental/svg/model/SkSVGAttributeParser.cpp
parent0adbd3e0a61c039fea1d47c006daa462bae42318 (diff)
[SVGDom] Improve whitespace handling in style parsing
Handle whitespace-padded style names/values. R=stephana@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2225623002 Review-Url: https://codereview.chromium.org/2225623002
Diffstat (limited to 'experimental/svg/model/SkSVGAttributeParser.cpp')
-rw-r--r--experimental/svg/model/SkSVGAttributeParser.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/experimental/svg/model/SkSVGAttributeParser.cpp b/experimental/svg/model/SkSVGAttributeParser.cpp
index f973d385f5..7a2561cdf7 100644
--- a/experimental/svg/model/SkSVGAttributeParser.cpp
+++ b/experimental/svg/model/SkSVGAttributeParser.cpp
@@ -152,13 +152,20 @@ bool SkSVGAttributeParser::parseHexColorToken(SkColor* c) {
bool SkSVGAttributeParser::parseColor(SkSVGColorType* color) {
SkColor c;
+ // consume preceding whitespace
+ this->parseWSToken();
+
// TODO: rgb(...)
+ bool parsedValue = false;
if (this->parseHexColorToken(&c) || this->parseNamedColorToken(&c)) {
*color = SkSVGColorType(c);
- return true;
+ parsedValue = true;
+
+ // consume trailing whitespace
+ this->parseWSToken();
}
- return false;
+ return parsedValue && this->parseEOSToken();
}
// https://www.w3.org/TR/SVG/types.html#DataTypeNumber