Ref<InputType> InputType::create(HTMLInputElement& element, const AtomicString& typeName) { #if !PLATFORM(WKC) static NeverDestroyed<InputTypeFactoryMap> factoryMap; if (factoryMap.get().isEmpty()) populateInputTypeFactoryMap(factoryMap); if (!typeName.isEmpty()) { if (auto factory = factoryMap.get().get(typeName)) return factory(element); } return adoptRef(*new TextInputType(element)); #else WKC_DEFINE_STATIC_PTR(InputTypeFactoryMap*, factoryMap, 0); if (!factoryMap) factoryMap = new InputTypeFactoryMap(); if (factoryMap->isEmpty()) populateInputTypeFactoryMap(*factoryMap); if (!typeName.isEmpty()) { if (auto factory = factoryMap->get(typeName)) return factory(element); } return adoptRef(*new TextInputType(element)); #endif }