blob: a624ecd1fcea2d113416402102824a4194f77fb7 [file] [log] [blame]
// Copyright (c) 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 CSSContentDistributionValue_h
#define CSSContentDistributionValue_h
#include "core/css/CSSValue.h"
#include "core/css/CSSValuePool.h"
#include "wtf/RefPtr.h"
namespace blink {
class CSSContentDistributionValue : public CSSValue {
public:
static PassRefPtrWillBeRawPtr<CSSContentDistributionValue> create(CSSValueID distribution, CSSValueID position, CSSValueID overflow)
{
return adoptRefWillBeNoop(new CSSContentDistributionValue(distribution, position, overflow));
}
~CSSContentDistributionValue();
PassRefPtrWillBeRawPtr<CSSPrimitiveValue> distribution() const { return cssValuePool().createIdentifierValue(m_distribution); }
PassRefPtrWillBeRawPtr<CSSPrimitiveValue> position() const { return cssValuePool().createIdentifierValue(m_position); }
PassRefPtrWillBeRawPtr<CSSPrimitiveValue> overflow() const { return cssValuePool().createIdentifierValue(m_overflow); }
String customCSSText() const;
bool equals(const CSSContentDistributionValue&) const;
void traceAfterDispatch(Visitor* visitor) { CSSValue::traceAfterDispatch(visitor); }
private:
explicit CSSContentDistributionValue(CSSValueID distribution, CSSValueID position, CSSValueID overflow);
CSSValueID m_distribution;
CSSValueID m_position;
CSSValueID m_overflow;
};
DEFINE_CSS_VALUE_TYPE_CASTS(CSSContentDistributionValue, isContentDistributionValue());
} // namespace blink
#endif // CSSContentDistributionValue_h