#include "config.h"
#include "WKPageGroup.h"
#include "APIUserContentExtension.h"
#include "WKAPICast.h"
#include "WebPageGroup.h"
#include "WebPreferences.h"
using namespace WebKit;
WKTypeID WKPageGroupGetTypeID()
{
return toAPI(WebPageGroup::APIType);
}
WKPageGroupRef WKPageGroupCreateWithIdentifier(WKStringRef identifier)
{
RefPtr<WebPageGroup> pageGroup = WebPageGroup::create(toWTFString(identifier));
return toAPI(pageGroup.release().leakRef());
}
WKStringRef WKPageGroupCopyIdentifier(WKPageGroupRef pageGroupRef)
{
return toCopiedAPI(toImpl(pageGroupRef)->identifier());
}
void WKPageGroupSetPreferences(WKPageGroupRef pageGroupRef, WKPreferencesRef preferencesRef)
{
toImpl(pageGroupRef)->setPreferences(toImpl(preferencesRef));
}
WKPreferencesRef WKPageGroupGetPreferences(WKPageGroupRef pageGroupRef)
{
return toAPI(&toImpl(pageGroupRef)->preferences());
}
void WKPageGroupAddUserStyleSheet(WKPageGroupRef pageGroupRef, WKStringRef sourceRef, WKURLRef baseURL, WKArrayRef whitelistedURLPatterns, WKArrayRef blacklistedURLPatterns, WKUserContentInjectedFrames injectedFrames)
{
toImpl(pageGroupRef)->addUserStyleSheet(toWTFString(sourceRef), toWTFString(baseURL), toImpl(whitelistedURLPatterns), toImpl(blacklistedURLPatterns), toUserContentInjectedFrames(injectedFrames), WebCore::UserStyleUserLevel);
}
void WKPageGroupRemoveAllUserStyleSheets(WKPageGroupRef pageGroupRef)
{
toImpl(pageGroupRef)->removeAllUserStyleSheets();
}
void WKPageGroupAddUserScript(WKPageGroupRef pageGroupRef, WKStringRef sourceRef, WKURLRef baseURL, WKArrayRef whitelistedURLPatterns, WKArrayRef blacklistedURLPatterns, WKUserContentInjectedFrames injectedFrames, _WKUserScriptInjectionTime injectionTime)
{
toImpl(pageGroupRef)->addUserScript(toWTFString(sourceRef), toWTFString(baseURL), toImpl(whitelistedURLPatterns), toImpl(blacklistedURLPatterns), toUserContentInjectedFrames(injectedFrames), toUserScriptInjectionTime(injectionTime));
}
void WKPageGroupRemoveAllUserScripts(WKPageGroupRef pageGroupRef)
{
toImpl(pageGroupRef)->removeAllUserScripts();
}
void WKPageGroupAddUserContentFilter(WKPageGroupRef pageGroupRef, WKUserContentFilterRef userContentFilterRef)
{
#if ENABLE(CONTENT_EXTENSIONS)
toImpl(pageGroupRef)->addUserContentExtension(*toImpl(userContentFilterRef));
#else
UNUSED_PARAM(pageGroupRef);
UNUSED_PARAM(userContentFilterRef);
#endif
}
void WKPageGroupRemoveUserContentFilter(WKPageGroupRef pageGroupRef, WKStringRef userContentFilterNameRef)
{
#if ENABLE(CONTENT_EXTENSIONS)
toImpl(pageGroupRef)->removeUserContentExtension(toWTFString(userContentFilterNameRef));
#else
UNUSED_PARAM(pageGroupRef);
UNUSED_PARAM(userContentFilterNameRef);
#endif
}
void WKPageGroupRemoveAllUserContentFilters(WKPageGroupRef pageGroupRef)
{
#if ENABLE(CONTENT_EXTENSIONS)
toImpl(pageGroupRef)->removeAllUserContentExtensions();
#else
UNUSED_PARAM(pageGroupRef);
#endif
}