blob: f2c0d8f0c69cc97a60deef48766f46a9574bb377 [file] [log] [blame]
// Copyright 2016 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 StylePropertyMap_h
#define StylePropertyMap_h
#include "core/css/cssom/StylePropertyMapReadonly.h"
namespace blink {
class ExceptionState;
class ExecutionContext;
class CORE_EXPORT StylePropertyMap : public StylePropertyMapReadonly {
DEFINE_WRAPPERTYPEINFO();
WTF_MAKE_NONCOPYABLE(StylePropertyMap);
public:
void set(const ExecutionContext*,
const String& property_name,
CSSStyleValueOrCSSStyleValueSequenceOrString& item,
ExceptionState&);
void append(const ExecutionContext*,
const String& property_name,
CSSStyleValueOrCSSStyleValueSequenceOrString& item,
ExceptionState&);
void remove(const String& property_name, ExceptionState&);
virtual void set(const ExecutionContext*,
CSSPropertyID,
CSSStyleValueOrCSSStyleValueSequenceOrString& item,
ExceptionState&) = 0;
virtual void append(const ExecutionContext*,
CSSPropertyID,
CSSStyleValueOrCSSStyleValueSequenceOrString& item,
ExceptionState&) = 0;
virtual void remove(CSSPropertyID, ExceptionState&) = 0;
protected:
StylePropertyMap() {}
};
} // namespace blink
#endif