DOMApplicationCache.h [plain text]
#ifndef DOMApplicationCache_h
#define DOMApplicationCache_h
#include "ApplicationCacheHost.h"
#include "DOMWindowProperty.h"
#include "EventNames.h"
#include "EventTarget.h"
#include "ScriptWrappable.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
#include <wtf/text/AtomicStringHash.h>
namespace WebCore {
class Frame;
class KURL;
class DOMApplicationCache : public ScriptWrappable, public RefCounted<DOMApplicationCache>, public EventTarget, public DOMWindowProperty {
public:
static PassRefPtr<DOMApplicationCache> create(Frame* frame) { return adoptRef(new DOMApplicationCache(frame)); }
~DOMApplicationCache() { ASSERT(!m_frame); }
virtual void disconnectFrameForPageCache() OVERRIDE;
virtual void reconnectFrameFromPageCache(Frame*) OVERRIDE;
virtual void willDestroyGlobalObjectInFrame() OVERRIDE;
unsigned short status() const;
void update(ExceptionCode&);
void swapCache(ExceptionCode&);
void abort();
using RefCounted<DOMApplicationCache>::ref;
using RefCounted<DOMApplicationCache>::deref;
DEFINE_ATTRIBUTE_EVENT_LISTENER(checking);
DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
DEFINE_ATTRIBUTE_EVENT_LISTENER(noupdate);
DEFINE_ATTRIBUTE_EVENT_LISTENER(downloading);
DEFINE_ATTRIBUTE_EVENT_LISTENER(progress);
DEFINE_ATTRIBUTE_EVENT_LISTENER(updateready);
DEFINE_ATTRIBUTE_EVENT_LISTENER(cached);
DEFINE_ATTRIBUTE_EVENT_LISTENER(obsolete);
virtual const AtomicString& interfaceName() const;
virtual ScriptExecutionContext* scriptExecutionContext() const;
static const AtomicString& toEventType(ApplicationCacheHost::EventID id);
private:
explicit DOMApplicationCache(Frame*);
virtual void refEventTarget() { ref(); }
virtual void derefEventTarget() { deref(); }
virtual EventTargetData* eventTargetData();
virtual EventTargetData* ensureEventTargetData();
ApplicationCacheHost* applicationCacheHost() const;
EventTargetData m_eventTargetData;
};
}
#endif // DOMApplicationCache_h