diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-08-25 19:20:41 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2017-02-02 12:30:55 +0000 |
commit | 6882a04fb36642862b11efe514251d32070c3d65 (patch) | |
tree | b7959826000b061fd5ccc7512035c7478742f7b0 /Source/WebCore/plugins/DOMPlugin.cpp | |
parent | ab6df191029eeeb0b0f16f127d553265659f739e (diff) | |
download | qtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz |
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f
Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebCore/plugins/DOMPlugin.cpp')
-rw-r--r-- | Source/WebCore/plugins/DOMPlugin.cpp | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/Source/WebCore/plugins/DOMPlugin.cpp b/Source/WebCore/plugins/DOMPlugin.cpp index ef5ab4cd7..4db0db85c 100644 --- a/Source/WebCore/plugins/DOMPlugin.cpp +++ b/Source/WebCore/plugins/DOMPlugin.cpp @@ -25,10 +25,10 @@ namespace WebCore { -DOMPlugin::DOMPlugin(PluginData* pluginData, Frame* frame, unsigned index) +DOMPlugin::DOMPlugin(PluginData* pluginData, Frame* frame, PluginInfo pluginInfo) : FrameDestructionObserver(frame) , m_pluginData(pluginData) - , m_index(index) + , m_pluginInfo(WTFMove(pluginInfo)) { } @@ -38,55 +38,57 @@ DOMPlugin::~DOMPlugin() String DOMPlugin::name() const { - return pluginInfo().name; + return m_pluginInfo.name; } String DOMPlugin::filename() const { - return pluginInfo().file; + return m_pluginInfo.file; } String DOMPlugin::description() const { - return pluginInfo().desc; + return m_pluginInfo.desc; } unsigned DOMPlugin::length() const { - return pluginInfo().mimes.size(); + return m_pluginInfo.mimes.size(); } -PassRefPtr<DOMMimeType> DOMPlugin::item(unsigned index) +RefPtr<DOMMimeType> DOMPlugin::item(unsigned index) { - if (index >= pluginInfo().mimes.size()) - return 0; + if (index >= m_pluginInfo.mimes.size()) + return nullptr; - const MimeClassInfo& mime = pluginInfo().mimes[index]; + MimeClassInfo mime = m_pluginInfo.mimes[index]; - const Vector<MimeClassInfo>& mimes = m_pluginData->mimes(); + Vector<MimeClassInfo> mimes; + Vector<size_t> mimePluginIndices; + Vector<PluginInfo> plugins = m_pluginData->webVisiblePlugins(); + m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices); for (unsigned i = 0; i < mimes.size(); ++i) { - if (mimes[i] == mime && m_pluginData->mimePluginIndices()[i] == m_index) - return DOMMimeType::create(m_pluginData.get(), m_frame, i).get(); + if (mimes[i] == mime && plugins[mimePluginIndices[i]] == m_pluginInfo) + return DOMMimeType::create(m_pluginData.get(), m_frame, i); } - return 0; + return nullptr; } -bool DOMPlugin::canGetItemsForName(const AtomicString& propertyName) +RefPtr<DOMMimeType> DOMPlugin::namedItem(const AtomicString& propertyName) { - const Vector<MimeClassInfo>& mimes = m_pluginData->mimes(); + Vector<MimeClassInfo> mimes; + Vector<size_t> mimePluginIndices; + m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices); for (unsigned i = 0; i < mimes.size(); ++i) if (mimes[i].type == propertyName) - return true; - return false; + return DOMMimeType::create(m_pluginData.get(), m_frame, i); + return nullptr; } -PassRefPtr<DOMMimeType> DOMPlugin::namedItem(const AtomicString& propertyName) +Vector<AtomicString> DOMPlugin::supportedPropertyNames() { - const Vector<MimeClassInfo>& mimes = m_pluginData->mimes(); - for (unsigned i = 0; i < mimes.size(); ++i) - if (mimes[i].type == propertyName) - return DOMMimeType::create(m_pluginData.get(), m_frame, i).get(); - return 0; + // FIXME: Should be implemented. + return Vector<AtomicString>(); } } // namespace WebCore |