summaryrefslogtreecommitdiffstats
path: root/WebCore/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/plugins')
-rw-r--r--WebCore/plugins/PluginData.cpp2
-rw-r--r--WebCore/plugins/PluginPackage.cpp9
-rw-r--r--WebCore/plugins/PluginStrategy.h4
-rw-r--r--WebCore/plugins/PluginView.cpp4
-rw-r--r--WebCore/plugins/PluginView.h4
-rw-r--r--WebCore/plugins/qt/PluginViewQt.cpp10
6 files changed, 18 insertions, 15 deletions
diff --git a/WebCore/plugins/PluginData.cpp b/WebCore/plugins/PluginData.cpp
index ff90747..d24d234 100644
--- a/WebCore/plugins/PluginData.cpp
+++ b/WebCore/plugins/PluginData.cpp
@@ -75,7 +75,7 @@ void PluginData::initPlugins()
{
ASSERT(m_plugins.isEmpty());
- platformStrategies()->pluginStrategy()->getPluginInfo(m_plugins);
+ platformStrategies()->pluginStrategy()->getPluginInfo(m_page, m_plugins);
}
#endif
diff --git a/WebCore/plugins/PluginPackage.cpp b/WebCore/plugins/PluginPackage.cpp
index 660d8f0..1d41dc6 100644
--- a/WebCore/plugins/PluginPackage.cpp
+++ b/WebCore/plugins/PluginPackage.cpp
@@ -210,12 +210,13 @@ void PluginPackage::determineQuirks(const String& mimeType)
} else {
// Flash 9 and older requests windowless plugins if we return a mozilla user agent
m_quirks.add(PluginQuirkWantsMozillaUserAgent);
-#if PLATFORM(QT)
- // Flash 9 and older would crash on repeated calls to SetWindow in windowed mode
- m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce);
-#endif
}
+#if PLATFORM(QT) && CPU(X86)
+ // 32-bit Flash will crash on repeated calls to SetWindow in windowed mode
+ m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce);
+#endif
+
m_quirks.add(PluginQuirkRequiresDefaultScreenDepth);
m_quirks.add(PluginQuirkThrottleInvalidate);
m_quirks.add(PluginQuirkThrottleWMUserPlusOneMessages);
diff --git a/WebCore/plugins/PluginStrategy.h b/WebCore/plugins/PluginStrategy.h
index 7e92196..9d8a7b5 100644
--- a/WebCore/plugins/PluginStrategy.h
+++ b/WebCore/plugins/PluginStrategy.h
@@ -32,10 +32,12 @@
namespace WebCore {
+class Page;
+
class PluginStrategy {
public:
virtual void refreshPlugins() = 0;
- virtual void getPluginInfo(Vector<PluginInfo>&) = 0;
+ virtual void getPluginInfo(const Page*, Vector<PluginInfo>&) = 0;
protected:
virtual ~PluginStrategy() { }
diff --git a/WebCore/plugins/PluginView.cpp b/WebCore/plugins/PluginView.cpp
index ca358b7..2522e0f 100644
--- a/WebCore/plugins/PluginView.cpp
+++ b/WebCore/plugins/PluginView.cpp
@@ -713,7 +713,7 @@ NPError PluginView::setValue(NPPVariable variable, void* value)
}
#endif // defined(XP_MACOSX)
-#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
case NPPVpluginWindowlessLocalBool:
m_renderToImage = true;
return NPERR_NO_ERROR;
@@ -943,7 +943,7 @@ PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* p
, m_colormap(0)
, m_pluginDisplay(0)
#endif
-#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
, m_renderToImage(false)
#endif
, m_loadManually(loadManually)
diff --git a/WebCore/plugins/PluginView.h b/WebCore/plugins/PluginView.h
index 8587c37..3d4e13e 100644
--- a/WebCore/plugins/PluginView.h
+++ b/WebCore/plugins/PluginView.h
@@ -65,7 +65,7 @@ typedef PlatformWidget PlatformPluginWidget;
#include <QPixmap>
#endif
#endif
-#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
#include <QImage>
class QPainter;
#endif
@@ -448,7 +448,7 @@ private:
void initXEvent(XEvent* event);
#endif
-#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
QImage m_image;
bool m_renderToImage;
void paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect);
diff --git a/WebCore/plugins/qt/PluginViewQt.cpp b/WebCore/plugins/qt/PluginViewQt.cpp
index de7d12d..b7e1268 100644
--- a/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/WebCore/plugins/qt/PluginViewQt.cpp
@@ -115,7 +115,7 @@ void PluginView::updatePluginWidget()
return;
if (!m_isWindowed && m_windowRect.size() != oldWindowRect.size()) {
-#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
// On Maemo5, Flash always renders to 16-bit buffer
if (m_renderToImage)
m_image = QImage(m_windowRect.width(), m_windowRect.height(), QImage::Format_RGB16);
@@ -172,7 +172,7 @@ void PluginView::hide()
Widget::hide();
}
-#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
void PluginView::paintUsingImageSurfaceExtension(QPainter* painter, const IntRect& exposedRect)
{
NPImageExpose imageExpose;
@@ -253,7 +253,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
return;
if (!m_drawable
-#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
&& m_image.isNull()
#endif
)
@@ -264,7 +264,7 @@ void PluginView::paint(GraphicsContext* context, const IntRect& rect)
exposedRect.intersect(frameRect());
exposedRect.move(-frameRect().x(), -frameRect().y());
-#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
if (!m_image.isNull()) {
paintUsingImageSurfaceExtension(painter, exposedRect);
return;
@@ -697,7 +697,7 @@ bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPErr
*result = NPERR_NO_ERROR;
return true;
-#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO == 5)
+#if defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
case NPNVSupportsWindowlessLocal:
*static_cast<NPBool*>(value) = true;
*result = NPERR_NO_ERROR;