Title: [181494] trunk/Source
Revision
181494
Author
[email protected]
Date
2015-03-13 19:50:28 -0700 (Fri, 13 Mar 2015)

Log Message

Unreviewed, rolling out r181483.
https://bugs.webkit.org/show_bug.cgi?id=142688

Caused use-after-free on many tests (Requested by ap on
#webkit).

Reverted changeset:

"Allow clients to selectively disable plug-ins"
https://bugs.webkit.org/show_bug.cgi?id=142506
http://trac.webkit.org/changeset/181483

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (181493 => 181494)


--- trunk/Source/WebCore/ChangeLog	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/ChangeLog	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1,3 +1,17 @@
+2015-03-13  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r181483.
+        https://bugs.webkit.org/show_bug.cgi?id=142688
+
+        Caused use-after-free on many tests (Requested by ap on
+        #webkit).
+
+        Reverted changeset:
+
+        "Allow clients to selectively disable plug-ins"
+        https://bugs.webkit.org/show_bug.cgi?id=142506
+        http://trac.webkit.org/changeset/181483
+
 2015-03-13  Antti Koivisto  <[email protected]>
 
         Cache glyph widths to GlyphPages

Modified: trunk/Source/WebCore/dom/DOMImplementation.cpp (181493 => 181494)


--- trunk/Source/WebCore/dom/DOMImplementation.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/dom/DOMImplementation.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -329,7 +329,7 @@
 
     // PDF is one image type for which a plugin can override built-in support.
     // We do not want QuickTime to take over all image types, obviously.
-    if (MIMETypeRegistry::isPDFOrPostScriptMIMEType(type) && pluginData && pluginData->supportsWebVisibleMimeType(type, allowedPluginTypes))
+    if (MIMETypeRegistry::isPDFOrPostScriptMIMEType(type) && pluginData && pluginData->supportsMimeType(type, allowedPluginTypes))
         return PluginDocument::create(frame, url);
     if (Image::supportsType(type))
         return ImageDocument::create(*frame, url);
@@ -348,7 +348,7 @@
     // Everything else except text/plain can be overridden by plugins. In particular, Adobe SVG Viewer should be used for SVG, if installed.
     // Disallowing plug-ins to use text/plain prevents plug-ins from hijacking a fundamental type that the browser is expected to handle,
     // and also serves as an optimization to prevent loading the plug-in database in the common case.
-    if (type != "text/plain" && ((pluginData && pluginData->supportsWebVisibleMimeType(type, allowedPluginTypes)) || (frame && frame->loader().client().shouldAlwaysUsePluginDocument(type))))
+    if (type != "text/plain" && ((pluginData && pluginData->supportsMimeType(type, allowedPluginTypes)) || (frame && frame->loader().client().shouldAlwaysUsePluginDocument(type))))
         return PluginDocument::create(frame, url);
     if (isTextMIMEType(type))
         return TextDocument::create(frame, url);

Modified: trunk/Source/WebCore/loader/SubframeLoader.cpp (181493 => 181494)


--- trunk/Source/WebCore/loader/SubframeLoader.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/loader/SubframeLoader.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -167,11 +167,8 @@
 
     const PluginData& pluginData = page->pluginData();
 
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    pluginData.getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-    for (size_t i = 0; i < mimes.size(); ++i) {
-        const MimeClassInfo& mimeClassInfo = mimes[i];
+    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;
@@ -194,7 +191,7 @@
             return;
     }
 
-    String pluginFile = page->pluginData().pluginFileForWebVisibleMimeType(newMIMEType);
+    String pluginFile = page->pluginData().pluginFileForMimeType(newMIMEType);
     String description = !pluginFile ? newMIMEType : pluginFile;
 
     DiagnosticLoggingClient& diagnosticLoggingClient = page->mainFrame().diagnosticLoggingClient();
@@ -370,7 +367,7 @@
     // Allow other plug-ins to win over QuickTime because if the user has installed a plug-in that
     // can handle TIFF (which QuickTime can also handle) they probably intended to override QT.
     if (m_frame.page() && (mimeType == "image/tiff" || mimeType == "image/tif" || mimeType == "image/x-tiff")) {
-        String pluginName = m_frame.page()->pluginData().pluginNameForWebVisibleMimeType(mimeType);
+        String pluginName = m_frame.page()->pluginData().pluginNameForMimeType(mimeType);
         if (!pluginName.isEmpty() && !pluginName.contains("QuickTime", false)) 
             return true;
     }

Modified: trunk/Source/WebCore/platform/PlatformStrategies.h (181493 => 181494)


--- trunk/Source/WebCore/platform/PlatformStrategies.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/platform/PlatformStrategies.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -88,7 +88,7 @@
     PluginStrategy* m_pluginStrategy;
 };
 
-WEBCORE_EXPORT PlatformStrategies* platformStrategies();
+PlatformStrategies* platformStrategies();
 WEBCORE_EXPORT void setPlatformStrategies(PlatformStrategies*);
 bool hasPlatformStrategies();
     

Modified: trunk/Source/WebCore/plugins/DOMMimeType.cpp (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMMimeType.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMMimeType.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -42,7 +42,7 @@
 {
 }
 
-String DOMMimeType::type() const
+const String &DOMMimeType::type() const
 {
     return mimeClassInfo().type;
 }
@@ -60,28 +60,17 @@
     return builder.toString();
 }
 
-String DOMMimeType::description() const
+const String &DOMMimeType::description() const
 {
     return mimeClassInfo().desc;
 }
 
-MimeClassInfo DOMMimeType::mimeClassInfo() const
-{
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-    return mimes[m_index];
-}
-
 PassRefPtr<DOMPlugin> DOMMimeType::enabledPlugin() const
 {
     if (!m_frame || !m_frame->page() || !m_frame->page()->mainFrame().loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
         return 0;
 
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-    return DOMPlugin::create(m_pluginData.get(), m_frame, mimePluginIndices[m_index]);
+    return DOMPlugin::create(m_pluginData.get(), m_frame, m_pluginData->mimePluginIndices()[m_index]);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/plugins/DOMMimeType.h (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMMimeType.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMMimeType.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -37,13 +37,13 @@
     static Ref<DOMMimeType> create(PassRefPtr<PluginData> pluginData, Frame* frame, unsigned index) { return adoptRef(*new DOMMimeType(pluginData, frame, index)); }
     ~DOMMimeType();
 
-    String type() const;
+    const String &type() const;
     String suffixes() const;
-    String description() const;
+    const String &description() const;
     PassRefPtr<DOMPlugin> enabledPlugin() const;
 
 private:
-    MimeClassInfo mimeClassInfo() const;
+    const MimeClassInfo& mimeClassInfo() const { return m_pluginData->mimes()[m_index]; }
 
     DOMMimeType(PassRefPtr<PluginData>, Frame*, unsigned index);
     RefPtr<PluginData> m_pluginData;

Modified: trunk/Source/WebCore/plugins/DOMMimeTypeArray.cpp (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMMimeTypeArray.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMMimeTypeArray.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -48,11 +48,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    data->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-    return mimes.size();
+    return data->mimes().size();
 }
 
 PassRefPtr<DOMMimeType> DOMMimeTypeArray::item(unsigned index)
@@ -60,11 +56,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    data->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-
+    const Vector<MimeClassInfo>& mimes = data->mimes();
     if (index >= mimes.size())
         return 0;
     return DOMMimeType::create(data, m_frame, index);
@@ -75,10 +67,7 @@
     PluginData *data = ""
     if (!data)
         return 0;
-
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    data->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
+    const Vector<MimeClassInfo>& mimes = data->mimes();
     for (unsigned i = 0; i < mimes.size(); ++i) {
         if (mimes[i].type == propertyName)
             return true;
@@ -91,10 +80,7 @@
     PluginData *data = ""
     if (!data)
         return 0;
-
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    data->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
+    const Vector<MimeClassInfo>& mimes = data->mimes();
     for (unsigned i = 0; i < mimes.size(); ++i) {
         if (mimes[i].type == propertyName)
             return DOMMimeType::create(data, m_frame, i);

Modified: trunk/Source/WebCore/plugins/DOMPlugin.cpp (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMPlugin.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMPlugin.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -56,23 +56,16 @@
     return pluginInfo().mimes.size();
 }
 
-PluginInfo DOMPlugin::pluginInfo() const
-{
-    return m_pluginData->webVisiblePlugins()[m_index];
-}
-
 PassRefPtr<DOMMimeType> DOMPlugin::item(unsigned index)
 {
     if (index >= pluginInfo().mimes.size())
         return 0;
 
-    MimeClassInfo mime = pluginInfo().mimes[index];
+    const MimeClassInfo& mime = pluginInfo().mimes[index];
 
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
+    const Vector<MimeClassInfo>& mimes = m_pluginData->mimes();
     for (unsigned i = 0; i < mimes.size(); ++i) {
-        if (mimes[i] == mime && mimePluginIndices[i] == m_index)
+        if (mimes[i] == mime && m_pluginData->mimePluginIndices()[i] == m_index)
             return DOMMimeType::create(m_pluginData.get(), m_frame, i);
     }
     return 0;
@@ -80,9 +73,7 @@
 
 bool DOMPlugin::canGetItemsForName(const AtomicString& propertyName)
 {
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
+    const Vector<MimeClassInfo>& mimes = m_pluginData->mimes();
     for (unsigned i = 0; i < mimes.size(); ++i)
         if (mimes[i].type == propertyName)
             return true;
@@ -91,9 +82,7 @@
 
 PassRefPtr<DOMMimeType> DOMPlugin::namedItem(const AtomicString& propertyName)
 {
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    m_pluginData->getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
+    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);

Modified: trunk/Source/WebCore/plugins/DOMPlugin.h (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMPlugin.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMPlugin.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -48,7 +48,7 @@
     PassRefPtr<DOMMimeType> namedItem(const AtomicString& propertyName);
 
 private:
-    PluginInfo pluginInfo() const;
+    const PluginInfo& pluginInfo() const { return m_pluginData->plugins()[m_index]; }
 
     DOMPlugin(PluginData*, Frame*, unsigned index);
     RefPtr<PluginData> m_pluginData;

Modified: trunk/Source/WebCore/plugins/DOMPluginArray.cpp (181493 => 181494)


--- trunk/Source/WebCore/plugins/DOMPluginArray.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/DOMPluginArray.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -48,8 +48,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    return data->webVisiblePlugins().size();
+    return data->plugins().size();
 }
 
 PassRefPtr<DOMPlugin> DOMPluginArray::item(unsigned index)
@@ -57,8 +56,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    const Vector<PluginInfo>& plugins = data->webVisiblePlugins();
+    const Vector<PluginInfo>& plugins = data->plugins();
     if (index >= plugins.size())
         return 0;
     return DOMPlugin::create(data, m_frame, index);
@@ -69,8 +67,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    const Vector<PluginInfo>& plugins = data->webVisiblePlugins();
+    const Vector<PluginInfo>& plugins = data->plugins();
     for (unsigned i = 0; i < plugins.size(); ++i) {
         if (plugins[i].name == propertyName)
             return true;
@@ -83,8 +80,7 @@
     PluginData* data = ""
     if (!data)
         return 0;
-
-    const Vector<PluginInfo>& plugins = data->webVisiblePlugins();
+    const Vector<PluginInfo>& plugins = data->plugins();
     for (unsigned i = 0; i < plugins.size(); ++i) {
         if (plugins[i].name == propertyName)
             return DOMPlugin::create(data, m_frame, i);

Modified: trunk/Source/WebCore/plugins/PluginData.cpp (181493 => 181494)


--- trunk/Source/WebCore/plugins/PluginData.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/PluginData.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -2,7 +2,7 @@
     Copyright (C) 2000 Harri Porten ([email protected])
     Copyright (C) 2000 Daniel Molkentin ([email protected])
     Copyright (C) 2000 Stefan Schimanski ([email protected])
-    Copyright (C) 2003, 2004, 2005, 2006, 2007, 2015 Apple Inc. All Rights Reserved.
+    Copyright (C) 2003, 2004, 2005, 2006, 2007 Apple Inc. All Rights Reserved.
     Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
 
     This library is free software; you can redistribute it and/or
@@ -31,75 +31,48 @@
 
 PluginData::PluginData(const Page* page)
 {
-    ASSERT_ARG(page, page);
+    initPlugins(page);
 
-    m_page = page;
-    initPlugins();
-}
-
-Vector<PluginInfo> PluginData::webVisiblePlugins() const
-{
-    Vector<PluginInfo> plugins;
-    platformStrategies()->pluginStrategy()->getWebVisiblePluginInfo(m_page, plugins);
-    return plugins;
-}
-
-void PluginData::getWebVisibleMimesAndPluginIndices(Vector<MimeClassInfo>& mimes, Vector<size_t>& mimePluginIndices) const
-{
-    ASSERT_ARG(mimes, mimes.isEmpty());
-    ASSERT_ARG(mimePluginIndices, mimePluginIndices.isEmpty());
-
-    const Vector<PluginInfo>& plugins = webVisiblePlugins();
-    for (unsigned i = 0; i < plugins.size(); ++i) {
-        const PluginInfo& plugin = plugins[i];
+    for (unsigned i = 0; i < m_plugins.size(); ++i) {
+        const PluginInfo& plugin = m_plugins[i];
         for (unsigned j = 0; j < plugin.mimes.size(); ++j) {
-            mimes.append(plugin.mimes[j]);
-            mimePluginIndices.append(i);
+            m_mimes.append(plugin.mimes[j]);
+            m_mimePluginIndices.append(i);
         }
     }
 }
 
-bool PluginData::supportsWebVisibleMimeType(const String& mimeType, const AllowedPluginTypes allowedPluginTypes) const
+bool PluginData::supportsMimeType(const String& mimeType, const AllowedPluginTypes allowedPluginTypes) const
 {
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    const Vector<PluginInfo>& plugins = webVisiblePlugins();
-    getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-
-    for (unsigned i = 0; i < mimes.size(); ++i) {
-        if (mimes[i].type == mimeType && (allowedPluginTypes == AllPlugins || plugins[mimePluginIndices[i]].isApplicationPlugin))
+    for (unsigned i = 0; i < m_mimes.size(); ++i) {
+        if (m_mimes[i].type == mimeType && (allowedPluginTypes == AllPlugins || m_plugins[m_mimePluginIndices[i]].isApplicationPlugin))
             return true;
     }
     return false;
 }
 
-const PluginInfo* PluginData::pluginInfoForWebVisibleMimeType(const String& mimeType) const
+const PluginInfo* PluginData::pluginInfoForMimeType(const String& mimeType) const
 {
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    const Vector<PluginInfo>& plugins = webVisiblePlugins();
-    getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-
-    for (unsigned i = 0; i < mimes.size(); ++i) {
-        const MimeClassInfo& info = mimes[i];
-
+    for (unsigned i = 0; i < m_mimes.size(); ++i) {
+        const MimeClassInfo& info = m_mimes[i];
+    
         if (info.type == mimeType)
-            return &plugins[mimePluginIndices[i]];
+            return &m_plugins[m_mimePluginIndices[i]];
     }
 
     return 0;
 }
 
-String PluginData::pluginNameForWebVisibleMimeType(const String& mimeType) const
+String PluginData::pluginNameForMimeType(const String& mimeType) const
 {
-    if (const PluginInfo* info = pluginInfoForWebVisibleMimeType(mimeType))
+    if (const PluginInfo* info = pluginInfoForMimeType(mimeType))
         return info->name;
     return String();
 }
 
-String PluginData::pluginFileForWebVisibleMimeType(const String& mimeType) const
+String PluginData::pluginFileForMimeType(const String& mimeType) const
 {
-    if (const PluginInfo* info = pluginInfoForWebVisibleMimeType(mimeType))
+    if (const PluginInfo* info = pluginInfoForMimeType(mimeType))
         return info->file;
     return String();
 }
@@ -109,11 +82,11 @@
     platformStrategies()->pluginStrategy()->refreshPlugins();
 }
 
-void PluginData::initPlugins()
+void PluginData::initPlugins(const Page* page)
 {
     ASSERT(m_plugins.isEmpty());
-
-    platformStrategies()->pluginStrategy()->getPluginInfo(m_page, m_plugins);
+    
+    platformStrategies()->pluginStrategy()->getPluginInfo(page, m_plugins);
 }
 
 }

Modified: trunk/Source/WebCore/plugins/PluginData.h (181493 => 181494)


--- trunk/Source/WebCore/plugins/PluginData.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/PluginData.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -29,24 +29,6 @@
 class Page;
 struct PluginInfo;
 
-enum PluginLoadClientPolicy : uint8_t {
-    // No client-specific plug-in load policy has been defined. The plug-in should be visible in navigator.plugins and WebKit should synchronously
-    // ask the client whether the plug-in should be loaded.
-    PluginLoadClientPolicyUndefined = 0,
-
-    // The plug-in module should be blocked from being instantiated. The plug-in should be hidden in navigator.plugins.
-    PluginLoadClientPolicyBlock,
-
-    // WebKit should synchronously ask the client whether the plug-in should be loaded. The plug-in should be visible in navigator.plugins.
-    PluginLoadClientPolicyAsk,
-
-    // The plug-in module may be loaded if WebKit is not blocking it.
-    PluginLoadClientPolicyAllow,
-
-    // The plug-in module should be loaded irrespective of whether WebKit has asked it to be blocked.
-    PluginLoadClientPolicyAllowAlways,
-};
-
 struct MimeClassInfo {
     String type;
     String desc;
@@ -64,13 +46,6 @@
     String desc;
     Vector<MimeClassInfo> mimes;
     bool isApplicationPlugin;
-
-    PluginLoadClientPolicy clientLoadPolicy;
-
-#if PLATFORM(MAC)
-    String bundleIdentifier;
-    String versionString;
-#endif
 };
 
 // FIXME: merge with PluginDatabase in the future
@@ -79,35 +54,38 @@
     static Ref<PluginData> create(const Page* page) { return adoptRef(*new PluginData(page)); }
 
     const Vector<PluginInfo>& plugins() const { return m_plugins; }
-    Vector<PluginInfo> webVisiblePlugins() const;
-    WEBCORE_EXPORT void getWebVisibleMimesAndPluginIndices(Vector<MimeClassInfo>&, Vector<size_t>&) const;
+    const Vector<MimeClassInfo>& mimes() const { return m_mimes; }
+    const Vector<size_t>& mimePluginIndices() const { return m_mimePluginIndices; }
 
     enum AllowedPluginTypes {
         AllPlugins,
         OnlyApplicationPlugins
     };
 
-    WEBCORE_EXPORT bool supportsWebVisibleMimeType(const String& mimeType, const AllowedPluginTypes) const;
-    String pluginNameForWebVisibleMimeType(const String& mimeType) const;
-    String pluginFileForWebVisibleMimeType(const String& mimeType) const;
+    WEBCORE_EXPORT bool supportsMimeType(const String& mimeType, const AllowedPluginTypes) const;
+    String pluginNameForMimeType(const String& mimeType) const;
+    String pluginFileForMimeType(const String& mimeType) const;
 
     static void refresh();
 
 private:
     explicit PluginData(const Page*);
-    void initPlugins();
-    const PluginInfo* pluginInfoForWebVisibleMimeType(const String& mimeType) const;
+    void initPlugins(const Page*);
+    const PluginInfo* pluginInfoForMimeType(const String& mimeType) const;
 
 protected:
 #if defined ENABLE_WEB_REPLAY && ENABLE_WEB_REPLAY
-    PluginData(Vector<PluginInfo> plugins)
+    PluginData(Vector<PluginInfo> plugins, Vector<MimeClassInfo> mimes, Vector<size_t> indices)
         : m_plugins(plugins)
+        , m_mimes(mimes)
+        , m_mimePluginIndices(indices)
     {
     }
 #endif
 
-    const Page* m_page;
     Vector<PluginInfo> m_plugins;
+    Vector<MimeClassInfo> m_mimes;
+    Vector<size_t> m_mimePluginIndices;
 };
 
 }

Modified: trunk/Source/WebCore/plugins/PluginStrategy.h (181493 => 181494)


--- trunk/Source/WebCore/plugins/PluginStrategy.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/plugins/PluginStrategy.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -36,11 +36,6 @@
 public:
     virtual void refreshPlugins() = 0;
     virtual void getPluginInfo(const Page*, Vector<PluginInfo>&) = 0;
-    virtual void getWebVisiblePluginInfo(const Page*, Vector<PluginInfo>&) = 0;
-#if PLATFORM(MAC)
-    virtual void setPluginLoadClientPolicy(PluginLoadClientPolicy, const String& host, const String& bundleIdentifier, const String& versionString) = 0;
-    virtual void clearPluginClientPolicies() = 0;
-#endif
 
 protected:
     virtual ~PluginStrategy() { }

Modified: trunk/Source/WebCore/replay/SerializationMethods.cpp (181493 => 181494)


--- trunk/Source/WebCore/replay/SerializationMethods.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/replay/SerializationMethods.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -53,7 +53,6 @@
 using WebCore::PlatformWheelEvent;
 using WebCore::PlatformWheelEventGranularity;
 using WebCore::PluginData;
-using WebCore::PluginLoadClientPolicy;
 using WebCore::PluginInfo;
 using WebCore::SecurityOrigin;
 using WebCore::URL;
@@ -438,18 +437,23 @@
 
 EncodedValue EncodingTraits<PluginData>::encodeValue(RefPtr<PluginData> input)
 {
-    // FIXME: This needs to work in terms of web-visible plug-ins.
     EncodedValue encodedData = EncodedValue::createObject();
 
+    Vector<uint32_t> castedMimePluginIndices(input->mimePluginIndices().size());
+    for (uint32_t index : input->mimePluginIndices())
+        castedMimePluginIndices.append(WTF::safeCast<uint32_t>(index));
+
     ENCODE_TYPE_WITH_KEY(encodedData, Vector<PluginInfo>, plugins, input->plugins());
+    ENCODE_TYPE_WITH_KEY(encodedData, Vector<MimeClassInfo>, mimes, input->mimes());
+    ENCODE_TYPE_WITH_KEY(encodedData, Vector<uint32_t>, mimePluginIndices, castedMimePluginIndices);
 
     return encodedData;
 }
 
 class DeserializedPluginData : public PluginData {
 public:
-    DeserializedPluginData(Vector<PluginInfo> plugins)
-        : PluginData(plugins)
+    DeserializedPluginData(Vector<PluginInfo> plugins, Vector<MimeClassInfo> mimes, Vector<size_t> indices)
+        : PluginData(plugins, mimes, indices)
     {
     }
 };
@@ -457,10 +461,15 @@
 bool EncodingTraits<PluginData>::decodeValue(EncodedValue& encodedData, RefPtr<PluginData>& input)
 {
     DECODE_TYPE_WITH_KEY(encodedData, Vector<PluginInfo>, plugins);
+    DECODE_TYPE_WITH_KEY(encodedData, Vector<MimeClassInfo>, mimes);
+    DECODE_TYPE_WITH_KEY(encodedData, Vector<uint32_t>, mimePluginIndices);
 
-    // FIXME: This needs to work in terms of web-visible plug-ins.
-    input = adoptRef(new DeserializedPluginData(plugins));
+    Vector<size_t> castedMimePluginIndices(mimePluginIndices.size());
+    for (uint32_t index : mimePluginIndices)
+        castedMimePluginIndices.append(WTF::safeCast<size_t>(index));
 
+    input = adoptRef(new DeserializedPluginData(plugins, mimes, castedMimePluginIndices));
+
     return true;
 }
 
@@ -474,11 +483,6 @@
     ENCODE_TYPE_WITH_KEY(encodedData, String, desc, input.desc);
     ENCODE_TYPE_WITH_KEY(encodedData, Vector<MimeClassInfo>, mimes, input.mimes);
     ENCODE_TYPE_WITH_KEY(encodedData, bool, isApplicationPlugin, input.isApplicationPlugin);
-    ENCODE_TYPE_WITH_KEY(encodedData, PluginLoadClientPolicy, clientLoadPolicy, static_cast<PluginLoadClientPolicy>(input.clientLoadPolicy));
-#if PLATFORM(MAC)
-    ENCODE_TYPE_WITH_KEY(encodedData, String, bundleIdentifier, input.bundleIdentifier);
-    ENCODE_TYPE_WITH_KEY(encodedData, String, versionString, input.versionString);
-#endif
 
     return encodedData;
 }
@@ -493,11 +497,6 @@
     DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, String, desc, info.desc);
     DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, Vector<MimeClassInfo>, mimes, info.mimes);
     DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, bool, isApplicationPlugin, info.isApplicationPlugin);
-    DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, PluginLoadClientPolicy, clientLoadPolicy, info.clientLoadPolicy);
-#if PLATFORM(MAC)
-    DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, String, bundleIdentifier, input.bundleIdentifier);
-    DECODE_TYPE_WITH_KEY_TO_LVALUE(encodedData, String, versionString, input.versionString);
-#endif
 
     input = info;
     return true;

Modified: trunk/Source/WebCore/replay/WebInputs.json (181493 => 181494)


--- trunk/Source/WebCore/replay/WebInputs.json	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebCore/replay/WebInputs.json	2015-03-14 02:50:28 UTC (rev 181494)
@@ -67,13 +67,6 @@
                 "header": "plugins/PluginData.h"
             },
             {
-                "name": "PluginLoadClientPolicy", "mode": "SCALAR", "storage": "uint8_t",
-                "flags": ["ENUM"],
-                "values": ["PluginLoadClientPolicyUndefined", "PluginLoadClientPolicyBlock", "PluginLoadClientPolicyAsk", "PluginLoadClientPolicyAllow", "PluginLoadClientPolicyAllowAlways"],
-                "header": "plugins/PluginData.h"
-            },
-
-            {
                 "name": "ScrollDirection", "mode": "SCALAR", "storage": "uint8_t",
                 "flags": ["ENUM"],
                 "values": ["ScrollUp", "ScrollDown", "ScrollLeft", "ScrollRight"],

Modified: trunk/Source/WebKit/mac/ChangeLog (181493 => 181494)


--- trunk/Source/WebKit/mac/ChangeLog	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/ChangeLog	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1,3 +1,17 @@
+2015-03-13  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r181483.
+        https://bugs.webkit.org/show_bug.cgi?id=142688
+
+        Caused use-after-free on many tests (Requested by ap on
+        #webkit).
+
+        Reverted changeset:
+
+        "Allow clients to selectively disable plug-ins"
+        https://bugs.webkit.org/show_bug.cgi?id=142506
+        http://trac.webkit.org/changeset/181483
+
 2015-03-13  Eric Carlson  <[email protected]>
 
         [Mac] Enable WIRELESS_PLAYBACK_TARGET

Modified: trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm (181493 => 181494)


--- trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -249,11 +249,6 @@
     pluginInfo.desc = description;
 
     pluginInfo.isApplicationPlugin = false;
-    pluginInfo.clientLoadPolicy = PluginLoadClientPolicyUndefined;
-#if PLATFORM(MAC)
-    pluginInfo.bundleIdentifier = self.bundleIdentifier;
-    pluginInfo.versionString = self.bundleVersion;
-#endif
 
     return YES;
 }

Modified: trunk/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm (181493 => 181494)


--- trunk/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -146,12 +146,7 @@
     pluginInfo.name = theName;
 
     pluginInfo.isApplicationPlugin = false;
-    pluginInfo.clientLoadPolicy = PluginLoadClientPolicyUndefined;
-#if PLATFORM(MAC)
-    pluginInfo.bundleIdentifier = self.bundleIdentifier;
-    pluginInfo.versionString = self.bundleVersion;
-#endif
-
+    
     [self closeResourceFile:resRef];
     
     return YES;

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h (181493 => 181494)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -62,11 +62,6 @@
     // WebCore::PluginStrategy
     virtual void refreshPlugins() override;
     virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
-    virtual void getWebVisiblePluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
-#if PLATFORM(MAC)
-    virtual void setPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy, const String&, const String&, const String&) override;
-    virtual void clearPluginClientPolicies() override;
-#endif
 
     // WebCore::LoaderStrategy
     // - Using default implementation.

Modified: trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm (181493 => 181494)


--- trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -128,21 +128,6 @@
     END_BLOCK_OBJC_EXCEPTIONS;
 }
 
-void WebPlatformStrategies::getWebVisiblePluginInfo(const Page* page, Vector<PluginInfo>& plugins)
-{
-    getPluginInfo(page, plugins);
-}
-
-#if PLATFORM(MAC)
-void WebPlatformStrategies::setPluginLoadClientPolicy(PluginLoadClientPolicy, const String&, const String&, const String&)
-{
-}
-
-void WebPlatformStrategies::clearPluginClientPolicies()
-{
-}
-#endif
-
 void WebPlatformStrategies::getTypes(Vector<String>& types, const String& pasteboardName)
 {
     PlatformPasteboard(pasteboardName).getTypes(types);

Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (181493 => 181494)


--- trunk/Source/WebKit/mac/WebView/WebFrame.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -979,8 +979,8 @@
 
     if (WebCore::DOMImplementation::isTextMIMEType(mimeType)
         || Image::supportsType(mimeType)
-        || (pluginData && pluginData->supportsWebVisibleMimeType(mimeType, PluginData::AllPlugins) && frame->loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
-        || (pluginData && pluginData->supportsWebVisibleMimeType(mimeType, PluginData::OnlyApplicationPlugins)))
+        || (pluginData && pluginData->supportsMimeType(mimeType, PluginData::AllPlugins) && frame->loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
+        || (pluginData && pluginData->supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins)))
         return NO;
 
     return YES;

Modified: trunk/Source/WebKit/win/ChangeLog (181493 => 181494)


--- trunk/Source/WebKit/win/ChangeLog	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/win/ChangeLog	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1,3 +1,17 @@
+2015-03-13  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r181483.
+        https://bugs.webkit.org/show_bug.cgi?id=142688
+
+        Caused use-after-free on many tests (Requested by ap on
+        #webkit).
+
+        Reverted changeset:
+
+        "Allow clients to selectively disable plug-ins"
+        https://bugs.webkit.org/show_bug.cgi?id=142506
+        http://trac.webkit.org/changeset/181483
+
 2015-03-10  Conrad Shultz  <[email protected]>
 
         Allow clients to selectively disable plug-ins

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp (181493 => 181494)


--- trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -134,8 +134,3 @@
         outPlugins[i] = info;
     }
 }
-
-void WebPlatformStrategies::getWebVisiblePluginInfo(const Page* page, Vector<PluginInfo>& plugins)
-{
-    getPluginInfo(page, plugins);
-}

Modified: trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h (181493 => 181494)


--- trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -55,7 +55,6 @@
     // WebCore::PluginStrategy
     virtual void refreshPlugins();
     virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-    virtual void getWebVisiblePluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
 };
 
 #endif // WebPlatformStrategies_h

Modified: trunk/Source/WebKit/win/WebView.cpp (181493 => 181494)


--- trunk/Source/WebKit/win/WebView.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit/win/WebView.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -2629,8 +2629,8 @@
         || MIMETypeRegistry::isSupportedMediaMIMEType(mimeType);
 
     if (!canShow && m_page) {
-        canShow = (m_page->pluginData().supportsWebVisibleMimeType(mimeType, PluginData::AllPlugins) && allowPlugins)
-            || m_page->pluginData().supportsWebVisibleMimeType(mimeType, PluginData::OnlyApplicationPlugins);
+        canShow = (m_page->pluginData().supportsMimeType(mimeType, PluginData::AllPlugins) && allowPlugins)
+            || m_page->pluginData().supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins);
     }
 
     if (!canShow)

Modified: trunk/Source/WebKit2/ChangeLog (181493 => 181494)


--- trunk/Source/WebKit2/ChangeLog	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/ChangeLog	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1,3 +1,17 @@
+2015-03-13  Commit Queue  <[email protected]>
+
+        Unreviewed, rolling out r181483.
+        https://bugs.webkit.org/show_bug.cgi?id=142688
+
+        Caused use-after-free on many tests (Requested by ap on
+        #webkit).
+
+        Reverted changeset:
+
+        "Allow clients to selectively disable plug-ins"
+        https://bugs.webkit.org/show_bug.cgi?id=142506
+        http://trac.webkit.org/changeset/181483
+
 2015-03-13  Eric Carlson  <[email protected]>
 
         [Mac] Enable WIRELESS_PLAYBACK_TARGET

Modified: trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm (181493 => 181494)


--- trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -399,12 +399,7 @@
         plugin.info.desc = plugin.info.file;
 
     plugin.info.isApplicationPlugin = false;
-    plugin.info.clientLoadPolicy = PluginLoadClientPolicyUndefined;
-#if PLATFORM(MAC)
-    plugin.info.bundleIdentifier = plugin.bundleIdentifier;
-    plugin.info.versionString = plugin.versionString;
-#endif
-
+    
     return true;
 }
 

Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp (181493 => 181494)


--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -566,18 +566,9 @@
 
 void ArgumentCoder<PluginInfo>::encode(ArgumentEncoder& encoder, const PluginInfo& pluginInfo)
 {
-    encoder << pluginInfo.name;
-    encoder << pluginInfo.file;
-    encoder << pluginInfo.desc;
-    encoder << pluginInfo.mimes;
-    encoder << pluginInfo.isApplicationPlugin;
-    encoder.encodeEnum(pluginInfo.clientLoadPolicy);
-#if PLATFORM(MAC)
-    encoder << pluginInfo.bundleIdentifier;
-    encoder << pluginInfo.versionString;
-#endif
+    encoder << pluginInfo.name << pluginInfo.file << pluginInfo.desc << pluginInfo.mimes << pluginInfo.isApplicationPlugin;
 }
-
+    
 bool ArgumentCoder<PluginInfo>::decode(ArgumentDecoder& decoder, PluginInfo& pluginInfo)
 {
     if (!decoder.decode(pluginInfo.name))
@@ -590,15 +581,6 @@
         return false;
     if (!decoder.decode(pluginInfo.isApplicationPlugin))
         return false;
-    PluginLoadClientPolicy clientLoadPolicy;
-    if (!decoder.decodeEnum(clientLoadPolicy))
-        return false;
-#if PLATFORM(MAC)
-    if (!decoder.decode(pluginInfo.bundleIdentifier))
-        return false;
-    if (!decoder.decode(pluginInfo.versionString))
-        return false;
-#endif
 
     return true;
 }

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp (181493 => 181494)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -144,10 +144,6 @@
     encoder << hasSelectionServices;
     encoder << hasRichContentServices;
 #endif
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    encoder << pluginLoadClientPolicies;
-#endif
 }
 
 bool WebProcessCreationParameters::decode(IPC::ArgumentDecoder& decoder, WebProcessCreationParameters& parameters)
@@ -306,11 +302,6 @@
         return false;
 #endif
 
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    if (!decoder.decode(parameters.pluginLoadClientPolicies))
-        return false;
-#endif
-
     return true;
 }
 

Modified: trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h (181493 => 181494)


--- trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/Shared/WebProcessCreationParameters.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -167,10 +167,6 @@
     bool hasSelectionServices;
     bool hasRichContentServices;
 #endif
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    HashMap<String, HashMap<String, HashMap<String, uint8_t>>> pluginLoadClientPolicies;
-#endif
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKAPICast.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -47,7 +47,6 @@
 #include "WebGrammarDetail.h"
 #include <WebCore/Credential.h>
 #include <WebCore/FrameLoaderTypes.h>
-#include <WebCore/PluginData.h>
 #include <WebCore/ProtectionSpace.h>
 #include <WebCore/Settings.h>
 
@@ -483,25 +482,6 @@
     return kWKPluginLoadPolicyBlocked;
 }
 
-inline WKPluginLoadClientPolicy toWKPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy PluginLoadClientPolicy)
-{
-    switch (PluginLoadClientPolicy) {
-    case WebCore::PluginLoadClientPolicyUndefined:
-        return kWKPluginLoadClientPolicyUndefined;
-    case WebCore::PluginLoadClientPolicyBlock:
-        return kWKPluginLoadClientPolicyBlock;
-    case WebCore::PluginLoadClientPolicyAsk:
-        return kWKPluginLoadClientPolicyAsk;
-    case WebCore::PluginLoadClientPolicyAllow:
-        return kWKPluginLoadClientPolicyAllow;
-    case WebCore::PluginLoadClientPolicyAllowAlways:
-        return kWKPluginLoadClientPolicyAllowAlways;
-    }
-
-    ASSERT_NOT_REACHED();
-    return kWKPluginLoadClientPolicyBlock;
-}
-
 inline PluginModuleLoadPolicy toPluginModuleLoadPolicy(WKPluginLoadPolicy pluginLoadPolicy)
 {
     switch (pluginLoadPolicy) {
@@ -517,25 +497,6 @@
     return PluginModuleBlocked;
 }
 
-inline WebCore::PluginLoadClientPolicy toPluginLoadClientPolicy(WKPluginLoadClientPolicy pluginLoadClientPolicy)
-{
-    switch (pluginLoadClientPolicy) {
-    case kWKPluginLoadClientPolicyUndefined:
-        return WebCore::PluginLoadClientPolicyUndefined;
-    case kWKPluginLoadClientPolicyBlock:
-        return WebCore::PluginLoadClientPolicyBlock;
-    case kWKPluginLoadClientPolicyAsk:
-        return WebCore::PluginLoadClientPolicyAsk;
-    case kWKPluginLoadClientPolicyAllow:
-        return WebCore::PluginLoadClientPolicyAllow;
-    case kWKPluginLoadClientPolicyAllowAlways:
-        return WebCore::PluginLoadClientPolicyAllowAlways;
-    }
-
-    ASSERT_NOT_REACHED();
-    return WebCore::PluginLoadClientPolicyBlock;
-}
-
 inline WebCore::WebGLLoadPolicy toWebGLLoadPolicy(WKWebGLLoadPolicy webGLLoadPolicy)
 {
     switch (webGLLoadPolicy) {

Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPluginLoadPolicy.h (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/API/C/WKPluginLoadPolicy.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPluginLoadPolicy.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -40,14 +40,6 @@
 };
 typedef uint32_t WKPluginLoadPolicy;
 
-enum WKPluginLoadClientPolicy {
-    kWKPluginLoadClientPolicyUndefined = 0,
-    kWKPluginLoadClientPolicyBlock,
-    kWKPluginLoadClientPolicyAsk,
-    kWKPluginLoadClientPolicyAllow,
-    kWKPluginLoadClientPolicyAllowAlways,
-};
-
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -27,7 +27,6 @@
 #define WKContextPrivateMac_h
 
 #include <WebKit/WKBase.h>
-#include <WebKit/WKPluginLoadPolicy.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -38,9 +37,6 @@
 
 WK_EXPORT bool WKContextIsPlugInUpdateAvailable(WKContextRef context, WKStringRef plugInBundleIdentifier);
 
-WK_EXPORT void WKContextSetPluginLoadClientPolicy(WKContextRef context, WKPluginLoadClientPolicy policy, WKStringRef host, WKStringRef bundleIdentifier, WKStringRef versionString);
-WK_EXPORT void WKContextClearPluginClientPolicies(WKContextRef context);
-
 WK_EXPORT WKDictionaryRef WKContextCopyPlugInInfoForBundleIdentifier(WKContextRef context, WKStringRef plugInBundleIdentifier);
 
 typedef void (^WKContextGetInfoForInstalledPlugInsBlock)(WKArrayRef, WKErrorRef);

Modified: trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -52,20 +52,6 @@
 #endif
 }
 
-void WKContextSetPluginLoadClientPolicy(WKContextRef contextRef, WKPluginLoadClientPolicy policy, WKStringRef host, WKStringRef bundleIdentifier, WKStringRef versionString)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    toImpl(contextRef)->setPluginLoadClientPolicy(toPluginLoadClientPolicy(policy), toWTFString(host), toWTFString(bundleIdentifier), toWTFString(versionString));
-#endif
-}
-
-void WKContextClearPluginClientPolicies(WKContextRef contextRef)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    toImpl(contextRef)->clearPluginClientPolicies();
-#endif
-}
-
 WKDictionaryRef WKContextCopyPlugInInfoForBundleIdentifier(WKContextRef contextRef, WKStringRef plugInBundleIdentifierRef)
 {
 #if ENABLE(NETSCAPE_PLUGIN_API)

Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -683,10 +683,6 @@
     serviceController.refreshExistingServices();
 #endif
 
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    parameters.pluginLoadClientPolicies = m_pluginLoadClientPolicies;
-#endif
-
 #if OS(LINUX)
     parameters.shouldEnableMemoryPressureReliefLogging = true;
 #endif
@@ -1422,34 +1418,7 @@
 
     m_client.plugInInformationBecameAvailable(this, API::Array::create(WTF::move(plugins)).get());
 }
-
-void WebProcessPool::setPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy policy, const String& host, const String& bundleIdentifier, const String& versionString)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    HashMap<String, HashMap<String, uint8_t>> policiesByIdentifier;
-    if (m_pluginLoadClientPolicies.contains(host))
-        policiesByIdentifier = m_pluginLoadClientPolicies.get(host);
-
-    HashMap<String, uint8_t> versionsToPolicies;
-    if (policiesByIdentifier.contains(bundleIdentifier))
-        versionsToPolicies = policiesByIdentifier.get(bundleIdentifier);
-
-    versionsToPolicies.set(versionString, policy);
-    policiesByIdentifier.set(bundleIdentifier, versionsToPolicies);
-    m_pluginLoadClientPolicies.set(host, policiesByIdentifier);
 #endif
-
-    sendToAllProcesses(Messages::WebProcess::SetPluginLoadClientPolicy(policy, host, bundleIdentifier, versionString));
-}
-
-void WebProcessPool::clearPluginClientPolicies()
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    m_pluginLoadClientPolicies.clear();
-#endif
-    sendToAllProcesses(Messages::WebProcess::ClearPluginClientPolicies());
-}
-#endif
     
 void WebProcessPool::setMemoryCacheDisabled(bool disabled)
 {

Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (181493 => 181494)


--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -183,9 +183,6 @@
     void setAdditionalPluginsDirectory(const String&);
 
     PluginInfoStore& pluginInfoStore() { return m_pluginInfoStore; }
-
-    void setPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy, const String& host, const String& bundleIdentifier, const String& versionString);
-    void clearPluginClientPolicies();
 #endif
 
 #if ENABLE(NETWORK_PROCESS)
@@ -543,10 +540,6 @@
 #if ENABLE(CONTENT_EXTENSIONS)
     HashMap<String, String> m_encodedContentExtensions;
 #endif
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    HashMap<String, HashMap<String, HashMap<String, uint8_t>>> m_pluginLoadClientPolicies;
-#endif
 };
 
 template<typename T>

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PDF/PDFPlugin.mm	2015-03-14 02:50:28 UTC (rev 181494)
@@ -539,7 +539,6 @@
     PluginInfo info;
     info.name = builtInPDFPluginName();
     info.isApplicationPlugin = true;
-    info.clientLoadPolicy = PluginLoadClientPolicyUndefined;
 
     MimeClassInfo pdfMimeClassInfo;
     pdfMimeClassInfo.type = "application/pdf";

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1447,11 +1447,8 @@
 {
     ASSERT(extension.lower() == extension);
 
-    Vector<MimeClassInfo> mimes;
-    Vector<size_t> mimePluginIndices;
-    pluginData.getWebVisibleMimesAndPluginIndices(mimes, mimePluginIndices);
-    for (size_t i = 0; i < mimes.size(); ++i) {
-        const MimeClassInfo& mimeClassInfo = mimes[i];
+    for (size_t i = 0; i < pluginData.mimes().size(); ++i) {
+        const MimeClassInfo& mimeClassInfo = pluginData.mimes()[i];
 
         if (mimeClassInfo.extensions.contains(extension))
             return true;
@@ -1486,9 +1483,9 @@
     bool plugInSupportsMIMEType = false;
     if (WebPage* webPage = m_frame->page()) {
         const PluginData& pluginData = webPage->corePage()->pluginData();
-        if (pluginData.supportsWebVisibleMimeType(mimeType, PluginData::AllPlugins) && webFrame()->coreFrame()->loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
+        if (pluginData.supportsMimeType(mimeType, PluginData::AllPlugins) && webFrame()->coreFrame()->loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
             plugInSupportsMIMEType = true;
-        else if (pluginData.supportsWebVisibleMimeType(mimeType, PluginData::OnlyApplicationPlugins))
+        else if (pluginData.supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins))
             plugInSupportsMIMEType = true;
     }
     

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010, 2011, 2012, 2015 Apple Inc. All rights reserved.
+ * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -44,7 +44,6 @@
 #include "WebProcess.h"
 #include "WebProcessProxyMessages.h"
 #include <WebCore/Color.h>
-#include <WebCore/DocumentLoader.h>
 #include <WebCore/IDBFactoryBackendInterface.h>
 #include <WebCore/LoaderStrategy.h>
 #include <WebCore/MainFrame.h>
@@ -267,8 +266,7 @@
 void WebPlatformStrategies::getPluginInfo(const WebCore::Page* page, Vector<WebCore::PluginInfo>& plugins)
 {
 #if ENABLE(NETSCAPE_PLUGIN_API)
-    ASSERT_ARG(page, page);
-    populatePluginCache(*page);
+    populatePluginCache();
 
     if (page->mainFrame().loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin)) {
         plugins = m_cachedPlugins;
@@ -282,104 +280,21 @@
 #endif // ENABLE(NETSCAPE_PLUGIN_API)
 }
 
-void WebPlatformStrategies::getWebVisiblePluginInfo(const Page* page, Vector<PluginInfo>& plugins)
-{
-    ASSERT_ARG(page, page);
-    ASSERT_ARG(plugins, plugins.isEmpty());
-
-    getPluginInfo(page, plugins);
-
-#if PLATFORM(MAC)
-    for (int32_t i = plugins.size() - 1; i >= 0; --i) {
-        PluginInfo& info = plugins.at(i);
-        PluginLoadClientPolicy clientPolicy = info.clientLoadPolicy;
-        // Allow built-in plugins. Also tentatively allow plugins that the client might later selectively permit.
-        if (info.isApplicationPlugin || clientPolicy == PluginLoadClientPolicyAsk)
-            continue;
-
-        if (clientPolicy == PluginLoadClientPolicyBlock)
-            plugins.remove(i);
-    }
-#endif
-}
-
-#if PLATFORM(MAC)
-void WebPlatformStrategies::setPluginLoadClientPolicy(PluginLoadClientPolicy clientPolicy, const String& host, const String& bundleIdentifier, const String& versionString)
-{
-    String hostToSet = host.isNull() || !host.length() ? "*" : host;
-    String bundleIdentifierToSet = bundleIdentifier.isNull() || !bundleIdentifier.length() ? "*" : bundleIdentifier;
-    String versionStringToSet = versionString.isNull() || !versionString.length() ? "*" : versionString;
-
-    PluginPolicyMapsByIdentifier policiesByIdentifier;
-    if (m_hostsToPluginIdentifierData.contains(hostToSet))
-        policiesByIdentifier = m_hostsToPluginIdentifierData.get(hostToSet);
-
-    PluginLoadClientPoliciesByBundleVersion versionsToPolicies;
-    if (policiesByIdentifier.contains(bundleIdentifierToSet))
-        versionsToPolicies = policiesByIdentifier.get(bundleIdentifierToSet);
-
-    versionsToPolicies.set(versionStringToSet, clientPolicy);
-    policiesByIdentifier.set(bundleIdentifierToSet, versionsToPolicies);
-    m_hostsToPluginIdentifierData.set(hostToSet, policiesByIdentifier);
-}
-
-void WebPlatformStrategies::clearPluginClientPolicies()
-{
-    m_hostsToPluginIdentifierData.clear();
-}
-
-#endif
-
 #if ENABLE(NETSCAPE_PLUGIN_API)
-#if PLATFORM(MAC)
-bool WebPlatformStrategies::pluginLoadClientPolicyForHost(const String& host, const PluginInfo& info, PluginLoadClientPolicy& policy) const
+void WebPlatformStrategies::populatePluginCache()
 {
-    String hostToLookUp = host;
-    if (!m_hostsToPluginIdentifierData.contains(hostToLookUp))
-        hostToLookUp = "*";
-    if (!m_hostsToPluginIdentifierData.contains(hostToLookUp))
-        return false;
+    if (m_pluginCacheIsPopulated)
+        return;
 
-    PluginPolicyMapsByIdentifier policiesByIdentifier = m_hostsToPluginIdentifierData.get(hostToLookUp);
-    String identifier = info.bundleIdentifier;
-    if (!identifier || !policiesByIdentifier.contains(identifier))
-        identifier = "*";
-    if (!policiesByIdentifier.contains(identifier))
-        return false;
+    ASSERT(m_cachedPlugins.isEmpty());
+    
+    // FIXME: Should we do something in case of error here?
+    if (!WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetPlugins(m_shouldRefreshPlugins), Messages::WebProcessProxy::GetPlugins::Reply(m_cachedPlugins, m_cachedApplicationPlugins), 0))
+        return;
 
-    PluginLoadClientPoliciesByBundleVersion versionsToPolicies = policiesByIdentifier.get(identifier);
-    String version = info.versionString;
-    if (!version || !versionsToPolicies.contains(version))
-        version = "*";
-    if (!versionsToPolicies.contains(version))
-        return false;
-
-    policy = versionsToPolicies.get(version);
-    return true;
+    m_shouldRefreshPlugins = false;
+    m_pluginCacheIsPopulated = true;
 }
-#endif // PLATFORM(MAC)
-
-void WebPlatformStrategies::populatePluginCache(const WebCore::Page& page)
-{
-    if (!m_pluginCacheIsPopulated) {
-        if (!WebProcess::singleton().parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetPlugins(m_shouldRefreshPlugins), Messages::WebProcessProxy::GetPlugins::Reply(m_cachedPlugins, m_cachedApplicationPlugins), 0))
-            return;
-
-        m_shouldRefreshPlugins = false;
-        m_pluginCacheIsPopulated = true;
-    }
-
-#if PLATFORM(MAC)
-    String pageHost = page.mainFrame().loader().documentLoader()->responseURL().host();
-    for (PluginInfo& info : m_cachedPlugins) {
-        PluginLoadClientPolicy clientPolicy;
-        if (pluginLoadClientPolicyForHost(pageHost, info, clientPolicy))
-            info.clientLoadPolicy = clientPolicy;
-    }
-#else
-    UNUSED_PARAM(page);
-#endif // not PLATFORM(MAC)
-}
 #endif // ENABLE(NETSCAPE_PLUGIN_API)
 
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -31,7 +31,6 @@
 #include <WebCore/PasteboardStrategy.h>
 #include <WebCore/PlatformStrategies.h>
 #include <WebCore/PluginStrategy.h>
-#include <wtf/HashMap.h>
 #include <wtf/NeverDestroyed.h>
 
 namespace WebKit {
@@ -68,16 +67,7 @@
     // WebCore::PluginStrategy
     virtual void refreshPlugins() override;
     virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
-    virtual void getWebVisiblePluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
 
-#if PLATFORM(MAC)
-    typedef HashMap<String, WebCore::PluginLoadClientPolicy> PluginLoadClientPoliciesByBundleVersion;
-    typedef HashMap<String, PluginLoadClientPoliciesByBundleVersion> PluginPolicyMapsByIdentifier;
-
-    virtual void setPluginLoadClientPolicy(WebCore::PluginLoadClientPolicy, const String& host, const String& bundleIdentifier, const String& versionString) override;
-    virtual void clearPluginClientPolicies() override;
-#endif
-
     // WebCore::PasteboardStrategy
 #if PLATFORM(IOS)
     virtual void writeToPasteboard(const WebCore::PasteboardWebContent&) override;
@@ -109,16 +99,11 @@
 
 #if ENABLE(NETSCAPE_PLUGIN_API)
     // WebCore::PluginStrategy implementation.
-    void populatePluginCache(const WebCore::Page&);
+    void populatePluginCache();
     bool m_pluginCacheIsPopulated;
     bool m_shouldRefreshPlugins;
     Vector<WebCore::PluginInfo> m_cachedPlugins;
     Vector<WebCore::PluginInfo> m_cachedApplicationPlugins;
-
-#if PLATFORM(MAC)
-    HashMap<String, PluginPolicyMapsByIdentifier> m_hostsToPluginIdentifierData;
-    bool pluginLoadClientPolicyForHost(const String&, const WebCore::PluginInfo&, WebCore::PluginLoadClientPolicy&) const;
-#endif // PLATFORM(MAC)
 #endif // ENABLE(NETSCAPE_PLUGIN_API)
 };
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -4426,11 +4426,11 @@
         return true;
 
     const PluginData& pluginData = m_page->pluginData();
-    if (pluginData.supportsWebVisibleMimeType(MIMEType, PluginData::AllPlugins) && corePage()->mainFrame().loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
+    if (pluginData.supportsMimeType(MIMEType, PluginData::AllPlugins) && corePage()->mainFrame().loader().subframeLoader().allowPlugins(NotAboutToInstantiatePlugin))
         return true;
 
     // We can use application plugins even if plugins aren't enabled.
-    if (pluginData.supportsWebVisibleMimeType(MIMEType, PluginData::OnlyApplicationPlugins))
+    if (pluginData.supportsMimeType(MIMEType, PluginData::OnlyApplicationPlugins))
         return true;
 
     return false;

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2015-03-14 02:50:28 UTC (rev 181494)
@@ -384,15 +384,6 @@
         Inspector::RemoteInspector::singleton().setParentProcessInformation(presenterApplicationPid(), auditData);
     }
 #endif
-
-#if ENABLE(NETSCAPE_PLUGIN_API) && PLATFORM(MAC)
-    for (const auto& hostKeyValue : parameters.pluginLoadClientPolicies) {
-        for (const auto& bundleIdentifierKeyValue : hostKeyValue.value) {
-            for (const auto& versionStringKeyValue : bundleIdentifierKeyValue.value)
-                platformStrategies()->pluginStrategy()->setPluginLoadClientPolicy(static_cast<PluginLoadClientPolicy>(versionStringKeyValue.value), hostKeyValue.key, bundleIdentifierKeyValue.key, versionStringKeyValue.key);
-        }
-    }
-#endif
 }
 
 #if ENABLE(NETWORK_PROCESS)
@@ -871,20 +862,6 @@
     parentProcessConnection()->send(Messages::WebProcessPool::PlugInDidReceiveUserInteraction(plugInOriginHash, sessionID), 0);
 }
 
-void WebProcess::setPluginLoadClientPolicy(uint8_t policy, const String& host, const String& bundleIdentifier, const String& versionString)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API) && PLATFORM(MAC)
-    platformStrategies()->pluginStrategy()->setPluginLoadClientPolicy(static_cast<PluginLoadClientPolicy>(policy), host, bundleIdentifier, versionString);
-#endif
-}
-
-void WebProcess::clearPluginClientPolicies()
-{
-#if ENABLE(NETSCAPE_PLUGIN_API) && PLATFORM(MAC)
-    platformStrategies()->pluginStrategy()->clearPluginClientPolicies();
-#endif
-}
-
 static void fromCountedSetToHashMap(TypeCountSet* countedSet, HashMap<String, uint64_t>& map)
 {
     TypeCountSet::const_iterator end = countedSet->end();

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2015-03-14 02:50:28 UTC (rev 181494)
@@ -123,8 +123,6 @@
     bool shouldPlugInAutoStartFromOrigin(WebPage&, const String& pageOrigin, const String& pluginOrigin, const String& mimeType);
     void plugInDidStartFromOrigin(const String& pageOrigin, const String& pluginOrigin, const String& mimeType, WebCore::SessionID);
     void plugInDidReceiveUserInteraction(const String& pageOrigin, const String& pluginOrigin, const String& mimeType, WebCore::SessionID);
-    void setPluginLoadClientPolicy(uint8_t policy, const String& host, const String& bundleIdentifier, const String& versionString);
-    void clearPluginClientPolicies();
 
     bool fullKeyboardAccessEnabled() const { return m_fullKeyboardAccessEnabled; }
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.messages.in (181493 => 181494)


--- trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2015-03-14 01:44:54 UTC (rev 181493)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.messages.in	2015-03-14 02:50:28 UTC (rev 181494)
@@ -56,8 +56,6 @@
     DidAddPlugInAutoStartOriginHash(uint32_t hash, double expirationTime, WebCore::SessionID sessionID)
     ResetPlugInAutoStartOriginDefaultHashes(HashMap<uint32_t,double> hashes)
     ResetPlugInAutoStartOriginHashes(HashMap<WebCore::SessionID, HashMap<uint32_t,double>> hashes)
-    SetPluginLoadClientPolicy(uint8_t policy, String host, String bundleIdentifier, String versionString)
-    ClearPluginClientPolicies()
 
     void StartMemorySampler(WebKit::SandboxExtension::Handle sampleLogFileHandle, String sampleLogFilePath, double interval);
     void StopMemorySampler();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to