#ifndef RenderProgress_h
#define RenderProgress_h
#include "core/rendering/RenderBlockFlow.h"
namespace WebCore {
class HTMLProgressElement;
class RenderProgress FINAL : public RenderBlockFlow {
public:
explicit RenderProgress(HTMLElement*);
virtual ~RenderProgress();
double position() const { return m_position; }
double animationProgress() const;
double animationStartTime() const { return m_animationStartTime; }
bool isDeterminate() const;
virtual void updateFromElement() OVERRIDE;
HTMLProgressElement* progressElement() const;
private:
virtual const char* renderName() const OVERRIDE { return "RenderProgress"; }
virtual bool isProgress() const OVERRIDE { return true; }
void animationTimerFired(Timer<RenderProgress>*);
void updateAnimationState();
double m_position;
double m_animationStartTime;
double m_animationRepeatInterval;
double m_animationDuration;
bool m_animating;
Timer<RenderProgress> m_animationTimer;
};
DEFINE_RENDER_OBJECT_TYPE_CASTS(RenderProgress, isProgress());
}
#endif