blob: a083b5aced6e6ebefbf03e2542236f19b37f6afd [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 EffectInput_h
#define EffectInput_h
#include "core/CoreExport.h"
#include "core/animation/EffectModel.h"
#include "platform/wtf/Allocator.h"
#include "platform/wtf/Vector.h"
namespace blink {
class KeyframeEffectModelBase;
class Dictionary;
class DictionaryIterator;
class Element;
class ExceptionState;
class ScriptState;
class ScriptValue;
class CORE_EXPORT EffectInput {
STATIC_ONLY(EffectInput);
public:
// TODO(alancutter): Replace Element* parameter with Document&.
static KeyframeEffectModelBase* Convert(
Element*,
const ScriptValue& keyframes,
EffectModel::CompositeOperation effect_composite,
ScriptState*,
ExceptionState&);
private:
static KeyframeEffectModelBase* ConvertArrayForm(
Element&,
DictionaryIterator keyframes,
EffectModel::CompositeOperation effect_composite,
ScriptState*,
ExceptionState&);
static KeyframeEffectModelBase* ConvertObjectForm(
Element&,
const Dictionary& keyframe,
EffectModel::CompositeOperation effect_composite,
ScriptState*,
ExceptionState&);
};
} // namespace blink
#endif