static String findPluginMIMETypeFromURL(Page* page, const String& url) { if (!url) return String(); size_t dotIndex = url.reverseFind('.'); if (dotIndex == notFound) return String(); String extension = url.substring(dotIndex + 1); PluginData* pluginData = page->pluginData(); if (!pluginData) return String(); for (size_t i = 0; i < pluginData->mimes().size(); ++i) { const MimeClassInfo& mimeClassInfo = pluginData->mimes()[i]; for (size_t j = 0; j < mimeClassInfo.extensions.size(); ++j) { if (equalIgnoringCase(extension, mimeClassInfo.extensions[j])) return mimeClassInfo.type; } } return String(); }
unsigned DOMMimeTypeArray::length() const { PluginData* data = getPluginData(); if (!data) return 0; return data->mimes().size(); }
DOMMimeType* DOMMimeTypeArray::item(unsigned index) { PluginData* data = getPluginData(); if (!data) return nullptr; const Vector<MimeClassInfo>& mimes = data->mimes(); if (index >= mimes.size()) return nullptr; return DOMMimeType::create(data, frame(), index); }
PassRefPtrWillBeRawPtr<DOMMimeType> DOMMimeTypeArray::item(unsigned index) { PluginData* data = getPluginData(); if (!data) return nullptr; const Vector<MimeClassInfo>& mimes = data->mimes(); if (index >= mimes.size()) return nullptr; return DOMMimeType::create(data, m_frame, index).get(); }
PassRefPtr<MimeType> MimeTypeArray::item(unsigned index) { PluginData* data = getPluginData(); if (!data) return 0; const Vector<MimeClassInfo*>& mimes = data->mimes(); if (index >= mimes.size()) return 0; return MimeType::create(data, index).get(); }
DOMMimeType* DOMMimeTypeArray::namedItem(const AtomicString& propertyName) { PluginData* data = getPluginData(); if (!data) return nullptr; const Vector<MimeClassInfo>& mimes = data->mimes(); for (unsigned i = 0; i < mimes.size(); ++i) { if (mimes[i].type == propertyName) return DOMMimeType::create(data, frame(), i); } return nullptr; }
bool DOMMimeTypeArray::canGetItemsForName(const AtomicString& propertyName) { PluginData *data = getPluginData(); if (!data) return 0; const Vector<MimeClassInfo>& mimes = data->mimes(); for (unsigned i = 0; i < mimes.size(); ++i) { if (mimes[i].type == propertyName) return true; } return false; }
PassRefPtr<MimeType> MimeTypeArray::namedItem(const AtomicString& propertyName) { PluginData *data = getPluginData(); if (!data) return 0; const Vector<MimeClassInfo*>& mimes = data->mimes(); for (unsigned i = 0; i < mimes.size(); ++i) { if (mimes[i]->type == propertyName) return MimeType::create(data, i).get(); } return 0; }