diff options
Diffstat (limited to 'WebCore/plugins')
-rw-r--r-- | WebCore/plugins/PluginData.cpp | 2 | ||||
-rw-r--r-- | WebCore/plugins/PluginPackage.cpp | 9 | ||||
-rw-r--r-- | WebCore/plugins/PluginStrategy.h | 4 | ||||
-rw-r--r-- | WebCore/plugins/PluginView.cpp | 4 | ||||
-rw-r--r-- | WebCore/plugins/PluginView.h | 4 | ||||
-rw-r--r-- | WebCore/plugins/qt/PluginViewQt.cpp | 10 |
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; |