RenderSnapshottedPlugIn.h [plain text]
#ifndef RenderSnapshottedPlugIn_h
#define RenderSnapshottedPlugIn_h
#include "RenderEmbeddedObject.h"
#include "RenderImageResource.h"
#include "Timer.h"
namespace WebCore {
class HTMLPlugInImageElement;
class RenderSnapshottedPlugIn : public RenderEmbeddedObject {
public:
explicit RenderSnapshottedPlugIn(HTMLPlugInImageElement*);
virtual ~RenderSnapshottedPlugIn();
void updateSnapshot(PassRefPtr<Image>);
void handleEvent(Event*);
private:
HTMLPlugInImageElement* plugInImageElement() const;
virtual const char* renderName() const { return "RenderSnapshottedPlugIn"; }
virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const OVERRIDE;
virtual bool isSnapshottedPlugIn() const OVERRIDE { return true; }
virtual void paint(PaintInfo&, const LayoutPoint&) OVERRIDE;
virtual bool canHaveWidget() const OVERRIDE { return false; }
void paintSnapshot(PaintInfo&, const LayoutPoint&);
virtual void layout() OVERRIDE;
OwnPtr<RenderImageResource> m_snapshotResource;
bool m_isPotentialMouseActivation;
};
inline RenderSnapshottedPlugIn* toRenderSnapshottedPlugIn(RenderObject* object)
{
ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isSnapshottedPlugIn());
return static_cast<RenderSnapshottedPlugIn*>(object);
}
void toRenderSnapshottedPlugIn(const RenderSnapshottedPlugIn*);
}
#endif // RenderSnapshottedPlugIn_h