#include "config.h"
#include "WKWebArchive.h"
#include "APIArray.h"
#include "APIData.h"
#include "APIWebArchive.h"
#include "APIWebArchiveResource.h"
#include "InjectedBundleRangeHandle.h"
#include "WKBundleAPICast.h"
#include "WKSharedAPICast.h"
WKTypeID WKWebArchiveGetTypeID()
{
return WebKit::toAPI(API::WebArchive::APIType);
}
WKWebArchiveRef WKWebArchiveCreate(WKWebArchiveResourceRef mainResourceRef, WKArrayRef subresourcesRef, WKArrayRef subframeArchivesRef)
{
auto webArchive = API::WebArchive::create(WebKit::toImpl(mainResourceRef), WebKit::toImpl(subresourcesRef), WebKit::toImpl(subframeArchivesRef));
return WebKit::toAPI(&webArchive.leakRef());
}
WKWebArchiveRef WKWebArchiveCreateWithData(WKDataRef dataRef)
{
auto webArchive = API::WebArchive::create(WebKit::toImpl(dataRef));
return WebKit::toAPI(&webArchive.leakRef());
}
WKWebArchiveRef WKWebArchiveCreateFromRange(WKBundleRangeHandleRef rangeHandleRef)
{
auto webArchive = API::WebArchive::create(WebKit::toImpl(rangeHandleRef)->coreRange());
return WebKit::toAPI(&webArchive.leakRef());
}
WKWebArchiveResourceRef WKWebArchiveCopyMainResource(WKWebArchiveRef webArchiveRef)
{
RefPtr<API::WebArchiveResource> mainResource = WebKit::toImpl(webArchiveRef)->mainResource();
return WebKit::toAPI(mainResource.leakRef());
}
WKArrayRef WKWebArchiveCopySubresources(WKWebArchiveRef webArchiveRef)
{
RefPtr<API::Array> subresources = WebKit::toImpl(webArchiveRef)->subresources();
return WebKit::toAPI(subresources.leakRef());
}
WKArrayRef WKWebArchiveCopySubframeArchives(WKWebArchiveRef webArchiveRef)
{
RefPtr<API::Array> subframeArchives = WebKit::toImpl(webArchiveRef)->subframeArchives();
return WebKit::toAPI(subframeArchives.leakRef());
}
WKDataRef WKWebArchiveCopyData(WKWebArchiveRef webArchiveRef)
{
return WebKit::toAPI(&WebKit::toImpl(webArchiveRef)->data().leakRef());
}