JSDOMApplicationCacheCustom.cpp [plain text]
#include "config.h"
#include "JSDOMApplicationCache.h"
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
#include "DOMApplicationCache.h"
#include "DOMWindow.h"
#include "Event.h"
#include "Frame.h"
#include "FrameLoader.h"
#include "JSDOMWindowCustom.h"
#include "JSEvent.h"
#include "JSEventListener.h"
#include <wtf/text/AtomicString.h>
using namespace JSC;
namespace WebCore {
#if ENABLE(APPLICATION_CACHE_DYNAMIC_ENTRIES)
JSValue JSDOMApplicationCache::hasItem(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
bool result = impl()->hasItem(url, ec);
setDOMException(exec, ec);
return jsBoolean(result);
}
JSValue JSDOMApplicationCache::add(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
impl()->add(url, ec);
setDOMException(exec, ec);
return jsUndefined();
}
JSValue JSDOMApplicationCache::remove(ExecState* exec)
{
Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
if (!frame)
return jsUndefined();
const KURL& url = frame->loader()->completeURL(exec->argument(0).toString(exec));
ExceptionCode ec = 0;
impl()->remove(url, ec);
setDOMException(exec, ec);
return jsUndefined();
}
#endif // ENABLE(APPLICATION_CACHE_DYNAMIC_ENTRIES)
}
#endif // ENABLE(OFFLINE_WEB_APPLICATIONS)