diff options
Diffstat (limited to 'Source/WebCore/css/CSSFunctionValue.h')
-rw-r--r-- | Source/WebCore/css/CSSFunctionValue.h | 42 |
1 files changed, 17 insertions, 25 deletions
diff --git a/Source/WebCore/css/CSSFunctionValue.h b/Source/WebCore/css/CSSFunctionValue.h index 511123b87..ebb3d5bab 100644 --- a/Source/WebCore/css/CSSFunctionValue.h +++ b/Source/WebCore/css/CSSFunctionValue.h @@ -23,44 +23,36 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef CSSFunctionValue_h -#define CSSFunctionValue_h +#pragma once -#include "CSSValue.h" +#include "CSSValueKeywords.h" +#include "CSSValueList.h" namespace WebCore { -class CSSValueList; -struct CSSParserFunction; - -class CSSFunctionValue : public CSSValue { +class CSSFunctionValue final : public CSSValueList { public: - static PassRef<CSSFunctionValue> create(CSSParserFunction* function) - { - return adoptRef(*new CSSFunctionValue(function)); - } - - static PassRef<CSSFunctionValue> create(String name, PassRefPtr<CSSValueList> args) + static Ref<CSSFunctionValue> create(CSSValueID name) { - return adoptRef(*new CSSFunctionValue(name, args)); + return adoptRef(*new CSSFunctionValue(name)); } - + String customCSSText() const; - bool equals(const CSSFunctionValue&) const; + CSSValueID name() const { return m_name; } - CSSValueList* arguments() const { return m_args.get(); } + bool equals(const CSSFunctionValue& other) const { return m_name == other.m_name && CSSValueList::equals(other); } private: - explicit CSSFunctionValue(CSSParserFunction*); - CSSFunctionValue(String, PassRefPtr<CSSValueList>); + CSSFunctionValue(CSSValueID name) + : CSSValueList(FunctionClass, CommaSeparator) + , m_name(name) + { + } - String m_name; - RefPtr<CSSValueList> m_args; + CSSValueID m_name { CSSValueInvalid }; }; -CSS_VALUE_TYPE_CASTS(CSSFunctionValue, isFunctionValue()) - -} -#endif +} // namespace WebCore +SPECIALIZE_TYPE_TRAITS_CSS_VALUE(CSSFunctionValue, isFunctionValue()) |