blob: daeb2d5b48f00dfb7d7c49e754113e0a27c90b95 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef AnimationHelpers_h
#define AnimationHelpers_h
#include "core/css/parser/BisonCSSParser.h"
#include "wtf/text/StringBuilder.h"
namespace WebCore {
static inline CSSPropertyID camelCaseCSSPropertyNameToID(const String& propertyName)
{
if (propertyName.find('-') != kNotFound)
return CSSPropertyInvalid;
StringBuilder builder;
size_t position = 0;
size_t end;
while ((end = propertyName.find(isASCIIUpper, position)) != kNotFound) {
builder.append(propertyName.substring(position, end - position) + "-" + toASCIILower((propertyName)[end]));
position = end + 1;
}
builder.append(propertyName.substring(position));
// Doesn't handle prefixed properties.
CSSPropertyID id = cssPropertyID(builder.toString());
return id;
}
} // namespace WebCore
#endif // AnimationHelpers_h