WKPluginSiteDataManager.cpp [plain text]
#include "config.h"
#include "WKPluginSiteDataManager.h"
#include "APIObject.h"
#include "WKAPICast.h"
#include "WebPluginSiteDataManager.h"
#if ENABLE(NETSCAPE_PLUGIN_API)
#include <WebCore/npapi.h>
#if defined(MOZ_X11)
#undef None
#endif
#endif
using namespace WebKit;
WKTypeID WKPluginSiteDataManagerGetTypeID()
{
#if ENABLE(NETSCAPE_PLUGIN_API)
return toAPI(WebPluginSiteDataManager::APIType);
#else
return toAPI(API::Object::Type::Null);
#endif
}
void WKPluginSiteDataManagerGetSitesWithData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerGetSitesWithDataFunction callback)
{
#if ENABLE(NETSCAPE_PLUGIN_API)
toImpl(managerRef)->getSitesWithData(toGenericCallbackFunction(context, callback));
#else
UNUSED_PARAM(managerRef);
UNUSED_PARAM(context);
UNUSED_PARAM(callback);
#endif
}
#if ENABLE(NETSCAPE_PLUGIN_API)
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;
}
#endif
void WKPluginSiteDataManagerClearSiteData(WKPluginSiteDataManagerRef managerRef, WKArrayRef sitesRef, WKClearSiteDataFlags flags, uint64_t maxAgeInSeconds, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
{
#if ENABLE(NETSCAPE_PLUGIN_API)
toImpl(managerRef)->clearSiteData(toImpl(sitesRef), toNPClearSiteDataFlags(flags), maxAgeInSeconds, [context, function](CallbackBase::Error error) {
function(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context);
});
#else
UNUSED_PARAM(managerRef);
UNUSED_PARAM(sitesRef);
UNUSED_PARAM(flags);
UNUSED_PARAM(maxAgeInSeconds);
UNUSED_PARAM(context);
UNUSED_PARAM(function);
#endif
}
void WKPluginSiteDataManagerClearAllSiteData(WKPluginSiteDataManagerRef managerRef, void* context, WKPluginSiteDataManagerClearSiteDataFunction function)
{
#if ENABLE(NETSCAPE_PLUGIN_API)
toImpl(managerRef)->clearSiteData(0, NP_CLEAR_ALL, std::numeric_limits<uint64_t>::max(), [context, function](CallbackBase::Error error) {
function(error == CallbackBase::Error::None ? nullptr : toAPI(API::Error::create().get()), context);
});
#else
UNUSED_PARAM(managerRef);
UNUSED_PARAM(context);
UNUSED_PARAM(function);
#endif
}