WKPluginSiteDataManager.cpp [plain text]
#include "config.h"
#include "WKPluginSiteDataManager.h"
#include "WKAPICast.h"
#include "WebPluginSiteDataManager.h"
#include <WebCore/npapi.h>
using namespace WebKit;
using namespace std;
WKTypeID WKPluginSiteDataManagerGetTypeID()
{
return toAPI(WebPluginSiteDataManager::APIType);
}
void WKPluginSiteDataManagerGetSitesWithData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerGetSitesWithDataFunction callback)
{
toImpl(managerRef)->getSitesWithData(ArrayCallback::create(context, callback));
}
static uint64_t toNPClearSiteDataFlags(WKClearSiteDataFlags flags)
{
if (flags == kWKClearSiteDataFlagsClearAll)
return NP_CLEAR_ALL;
uint64_t result = 0;
if (flags & kWKClearSiteDataFlagsClearCache)
result |= NP_CLEAR_CACHE;
return result;
}
void WKPluginSiteDataManagerClearSiteData(WKPluginSiteDataManagerRef managerRef, WKArrayRef sitesRef, WKClearSiteDataFlags flags, uint64_t maxAgeInSeconds, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
{
toImpl(managerRef)->clearSiteData(toImpl(sitesRef), toNPClearSiteDataFlags(flags), maxAgeInSeconds, VoidCallback::create(context, function));
}
void WKPluginSiteDataManagerClearAllSiteData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
{
toImpl(managerRef)->clearSiteData(0, NP_CLEAR_ALL, numeric_limits<uint64_t>::max(), VoidCallback::create(context, function));
}