blob: 372aee53ac0df6f6e2f70812ae9ededd7c63bb17 [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 "wtf/Allocator.h"
#include "wtf/Vector.h"
namespace blink {
class EffectModel;
class EffectModelOrDictionarySequenceOrDictionary;
class Dictionary;
class Element;
class ExceptionState;
class ExecutionContext;
class CORE_EXPORT EffectInput {
STATIC_ONLY(EffectInput);
public:
// TODO(alancutter): Replace Element* parameter with Document&.
static EffectModel* convert(Element*, const EffectModelOrDictionarySequenceOrDictionary&, ExecutionContext*, ExceptionState&);
private:
static EffectModel* convertArrayForm(Element&, const Vector<Dictionary>& keyframes, ExceptionState&);
static EffectModel* convertObjectForm(Element&, const Dictionary& keyframe, ExceptionState&);
};
} // namespace blink
#endif