ProcessWarming.cpp [plain text]
#include "config.h"
#include "ProcessWarming.h"
#include "CommonVM.h"
#include "Font.h"
#include "FontCache.h"
#include "FontCascadeDescription.h"
#include "HTMLNames.h"
#include "MathMLNames.h"
#include "MediaFeatureNames.h"
#include "QualifiedName.h"
#include "SVGNames.h"
#include "Settings.h"
#include "TelephoneNumberDetector.h"
#include "UserAgentStyle.h"
#include "WebKitFontFamilyNames.h"
#include "XLinkNames.h"
#include "XMLNSNames.h"
#include "XMLNames.h"
#if ENABLE(GPU_DRIVER_PREWARMING)
#include "GPUDevice.h"
#include "GPURequestAdapterOptions.h"
#endif
namespace WebCore {
void ProcessWarming::initializeNames()
{
AtomString::init();
HTMLNames::init();
QualifiedName::init();
MediaFeatureNames::init();
SVGNames::init();
XLinkNames::init();
MathMLNames::init();
XMLNSNames::init();
XMLNames::init();
WebKitFontFamilyNames::init();
}
void ProcessWarming::prewarmGlobally()
{
initializeNames();
Settings::create(nullptr);
Style::UserAgentStyle::initDefaultStyleSheet();
commonVM();
FontCache::singleton().prewarmGlobally();
#if ENABLE(TELEPHONE_NUMBER_DETECTION)
TelephoneNumberDetector::isSupported();
#endif
#if ENABLE(GPU_DRIVER_PREWARMING)
GPUDevice::tryCreate(WTF::nullopt);
#endif
}
WebCore::PrewarmInformation ProcessWarming::collectPrewarmInformation()
{
return { FontCache::singleton().collectPrewarmInformation() };
}
void ProcessWarming::prewarmWithInformation(const PrewarmInformation& prewarmInfo)
{
FontCache::singleton().prewarm(prewarmInfo.fontCache);
}
}