diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2015-01-06 16:31:27 +0100 |
---|---|---|
committer | Ashish Kulkarni <kulkarni.ashish@gmail.com> | 2015-01-08 17:52:21 +0100 |
commit | 4ecb913768ff0806c6efdff4567ef5907f597e4a (patch) | |
tree | 171f8ef23f66854a77279c5420cd78c665563584 | |
parent | a4449b1209fbcdbe936bfd692804a0be831c7b4f (diff) | |
download | qtwebkit-4ecb913768ff0806c6efdff4567ef5907f597e4a.tar.gz |
Fix build without OpenGL
The accelerated 2D canvas feature broke building without OpenGL due to
missing feature checks.
Task-number: QTBUG-43549
Change-Id: I7e62751d5237e1c600bc784539c70db50bccfa22
Reviewed-by: Ashish Kulkarni <kulkarni.ashish@gmail.com>
Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
-rw-r--r-- | Source/WebCore/Target.pri | 4 | ||||
-rw-r--r-- | Source/WebCore/html/HTMLCanvasElement.cpp | 2 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/ImageBuffer.h | 4 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/ImageBufferDataQt.cpp | 11 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/ImageBufferDataQt.h | 7 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp | 4 | ||||
-rw-r--r-- | Tools/QtTestBrowser/launcherwindow.cpp | 8 | ||||
-rw-r--r-- | Tools/QtTestBrowser/launcherwindow.h | 2 |
8 files changed, 25 insertions, 17 deletions
diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri index b9167d13b..d1aad9f9b 100644 --- a/Source/WebCore/Target.pri +++ b/Source/WebCore/Target.pri @@ -2232,7 +2232,6 @@ HEADERS += \ platform/graphics/RoundedRect.h \ platform/graphics/qt/FontCustomPlatformData.h \ platform/graphics/qt/NativeImageQt.h \ - platform/graphics/qt/QFramebufferPaintDevice.h \ platform/graphics/qt/StillImageQt.h \ platform/graphics/qt/TransparencyLayer.h \ platform/graphics/SegmentedFontData.h \ @@ -2886,7 +2885,6 @@ SOURCES += \ platform/graphics/qt/IntPointQt.cpp \ platform/graphics/qt/IntRectQt.cpp \ platform/graphics/qt/IntSizeQt.cpp \ - platform/graphics/qt/QFramebufferPaintDevice.cpp \ platform/graphics/qt/PathQt.cpp \ platform/graphics/qt/PatternQt.cpp \ platform/graphics/qt/StillImageQt.cpp \ @@ -4146,6 +4144,7 @@ use?(3D_GRAPHICS) { platform/graphics/gpu/Texture.h \ platform/graphics/gpu/TilingData.h \ platform/graphics/opengl/Extensions3DOpenGL.h \ + platform/graphics/qt/QFramebufferPaintDevice.h \ platform/graphics/texmap/TextureMapperGL.h \ platform/graphics/texmap/TextureMapperShaderProgram.h \ platform/graphics/texmap/coordinated/AreaAllocator.h \ @@ -4182,6 +4181,7 @@ use?(3D_GRAPHICS) { platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp \ platform/graphics/opengl/Extensions3DOpenGLCommon.cpp \ platform/graphics/qt/GraphicsContext3DQt.cpp \ + platform/graphics/qt/QFramebufferPaintDevice.cpp \ platform/graphics/texmap/TextureMapperGL.cpp \ platform/graphics/texmap/TextureMapperShaderProgram.cpp \ platform/graphics/texmap/coordinated/AreaAllocator.cpp \ diff --git a/Source/WebCore/html/HTMLCanvasElement.cpp b/Source/WebCore/html/HTMLCanvasElement.cpp index b856234b1..ae399596a 100644 --- a/Source/WebCore/html/HTMLCanvasElement.cpp +++ b/Source/WebCore/html/HTMLCanvasElement.cpp @@ -586,7 +586,7 @@ void HTMLCanvasElement::createImageBuffer() const return; RenderingMode renderingMode = shouldAccelerate(bufferSize) ? Accelerated : Unaccelerated; -#if PLATFORM(QT) +#if PLATFORM(QT) && ENABLE(ACCELERATED_2D_CANVAS) if (renderingMode == Accelerated) { QWebPageClient* client = document()->page()->chrome().platformPageClient(); // The WebKit2 Chrome does not have a pageclient. diff --git a/Source/WebCore/platform/graphics/ImageBuffer.h b/Source/WebCore/platform/graphics/ImageBuffer.h index 7addde9d5..a30d0523c 100644 --- a/Source/WebCore/platform/graphics/ImageBuffer.h +++ b/Source/WebCore/platform/graphics/ImageBuffer.h @@ -95,7 +95,7 @@ namespace WebCore { } static PassOwnPtr<ImageBuffer> createCompatibleBuffer(const IntSize&, float resolutionScale, ColorSpace, const GraphicsContext*, bool hasAlpha); -#if PLATFORM(QT) +#if PLATFORM(QT) && ENABLE(ACCELERATED_2D_CANVAS) static PassOwnPtr<ImageBuffer> createCompatibleBuffer(const IntSize&, float resolutionScale, ColorSpace, QOpenGLContext*); #endif @@ -165,7 +165,7 @@ namespace WebCore { // This constructor will place its success into the given out-variable // so that create() knows when it should return failure. ImageBuffer(const IntSize&, float resolutionScale, ColorSpace, RenderingMode, bool& success); -#if PLATFORM(QT) +#if PLATFORM(QT) && ENABLE(ACCELERATED_2D_CANVAS) ImageBuffer(const IntSize&, float resolutionScale, ColorSpace, QOpenGLContext*, bool& success); #endif }; diff --git a/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.cpp b/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.cpp index 4a1651548..1235ce690 100644 --- a/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.cpp +++ b/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.cpp @@ -34,7 +34,6 @@ #include "GraphicsSurface.h" #include "ImageData.h" #include "StillImageQt.h" -#include "QFramebufferPaintDevice.h" #include <QImage> #include <QPaintEngine> @@ -42,6 +41,7 @@ #include <QPixmap> #if ENABLE(ACCELERATED_2D_CANVAS) +#include "QFramebufferPaintDevice.h" #include "TextureMapper.h" #include "TextureMapperPlatformLayer.h" #include "TextureMapperGL.h" @@ -483,16 +483,12 @@ ImageBufferData::ImageBufferData(const IntSize& size) initPainter(); } +#if ENABLE(ACCELERATED_2D_CANVAS) ImageBufferData::ImageBufferData(const IntSize& size, QOpenGLContext* compatibleContext) { m_painter = new QPainter; -#if ENABLE(ACCELERATED_2D_CANVAS) m_impl = new ImageBufferDataPrivateAccelerated(size, compatibleContext); -#else - Q_UNUSED(compatibleContext); - m_impl = new ImageBufferDataPrivateUnaccelerated(size); -#endif if (!m_impl->paintDevice()) return; @@ -501,11 +497,14 @@ ImageBufferData::ImageBufferData(const IntSize& size, QOpenGLContext* compatible initPainter(); } +#endif ImageBufferData::~ImageBufferData() { +#if ENABLE(ACCELERATED_2D_CANVAS) if (m_impl->isAccelerated()) static_cast<QFramebufferPaintDevice*>(m_impl->paintDevice())->ensureActiveTarget(); +#endif m_painter->end(); delete m_painter; delete m_impl; diff --git a/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.h b/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.h index 486b0d576..fcad887d3 100644 --- a/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.h +++ b/Source/WebCore/platform/graphics/qt/ImageBufferDataQt.h @@ -29,10 +29,13 @@ #include "Image.h" #include <QImage> -#include <QOpenGLContext> #include <QPainter> #include <QPaintDevice> +#if ENABLE(ACCELERATED_2D_CANVAS) +#include <QOpenGLContext> +#endif + #include <wtf/RefPtr.h> namespace WebCore { @@ -61,7 +64,9 @@ class ImageBufferData { public: ImageBufferData(const IntSize&); +#if ENABLE(ACCELERATED_2D_CANVAS) ImageBufferData(const IntSize&, QOpenGLContext*); +#endif ~ImageBufferData(); QPainter* m_painter; ImageBufferDataPrivate* m_impl; diff --git a/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp b/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp index 400743df2..09c90a6a0 100644 --- a/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp +++ b/Source/WebCore/platform/graphics/qt/ImageBufferQt.cpp @@ -47,6 +47,7 @@ namespace WebCore { +#if ENABLE(ACCELERATED_2D_CANVAS) ImageBuffer::ImageBuffer(const IntSize& size, float /* resolutionScale */, ColorSpace, QOpenGLContext* compatibleContext, bool& success) : m_data(size, compatibleContext) , m_size(size) @@ -58,6 +59,7 @@ ImageBuffer::ImageBuffer(const IntSize& size, float /* resolutionScale */, Color m_context = adoptPtr(new GraphicsContext(m_data.m_painter)); } +#endif ImageBuffer::ImageBuffer(const IntSize& size, float /* resolutionScale */, ColorSpace, RenderingMode /*renderingMode*/, bool& success) : m_data(size) @@ -75,6 +77,7 @@ ImageBuffer::~ImageBuffer() { } +#if ENABLE(ACCELERATED_2D_CANVAS) PassOwnPtr<ImageBuffer> ImageBuffer::createCompatibleBuffer(const IntSize& size, float resolutionScale, ColorSpace colorSpace, QOpenGLContext* context) { bool success = false; @@ -83,6 +86,7 @@ PassOwnPtr<ImageBuffer> ImageBuffer::createCompatibleBuffer(const IntSize& size, return nullptr; return buf.release(); } +#endif GraphicsContext* ImageBuffer::context() const { diff --git a/Tools/QtTestBrowser/launcherwindow.cpp b/Tools/QtTestBrowser/launcherwindow.cpp index e2dcef39f..d2933979b 100644 --- a/Tools/QtTestBrowser/launcherwindow.cpp +++ b/Tools/QtTestBrowser/launcherwindow.cpp @@ -177,9 +177,9 @@ void LauncherWindow::initializeView() #ifndef QT_NO_OPENGL if (!m_windowOptions.useQOpenGLWidgetViewport) toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); -#endif if (!m_windowOptions.useQGLWidgetViewport) toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport); +#endif view->setPage(page()); connect(view, SIGNAL(currentFPSUpdated(int)), this, SLOT(updateFPS(int))); @@ -407,7 +407,6 @@ void LauncherWindow::createChrome() toggleQGLWidgetViewport->setChecked(m_windowOptions.useQGLWidgetViewport); toggleQGLWidgetViewport->setEnabled(isGraphicsBased()); toggleQGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); -#endif #if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) QAction* toggleQOpenGLWidgetViewport = graphicsViewMenu->addAction("Toggle use of QOpenGLWidget Viewport", this, SLOT(toggleQOpenGLWidgetViewport(bool))); toggleQOpenGLWidgetViewport->setCheckable(true); @@ -415,6 +414,7 @@ void LauncherWindow::createChrome() toggleQOpenGLWidgetViewport->setEnabled(isGraphicsBased()); toggleQOpenGLWidgetViewport->connect(toggleGraphicsView, SIGNAL(toggled(bool)), SLOT(setEnabled(bool))); #endif +#endif QMenu* viewportUpdateMenu = graphicsViewMenu->addMenu("Change Viewport Update Mode"); viewportUpdateMenu->setEnabled(isGraphicsBased()); @@ -802,9 +802,9 @@ void LauncherWindow::screenshot() #ifndef QT_NO_OPENGL if (!m_windowOptions.useQOpenGLWidgetViewport) toggleQGLWidgetViewport(m_windowOptions.useQGLWidgetViewport); -#endif if (!m_windowOptions.useQGLWidgetViewport) toggleQOpenGLWidgetViewport(m_windowOptions.useQOpenGLWidgetViewport); +#endif } void LauncherWindow::setEditable(bool on) @@ -997,7 +997,6 @@ void LauncherWindow::toggleQGLWidgetViewport(bool enable) WebViewGraphicsBased* view = static_cast<WebViewGraphicsBased*>(m_view); view->setViewport(enable ? new QGLWidget() : 0); } -#endif void LauncherWindow::toggleQOpenGLWidgetViewport(bool enable) { @@ -1013,6 +1012,7 @@ void LauncherWindow::toggleQOpenGLWidgetViewport(bool enable) view->setViewport(enable ? new QOpenGLWidget() : 0); #endif } +#endif void LauncherWindow::changeViewportUpdateMode(int mode) { diff --git a/Tools/QtTestBrowser/launcherwindow.h b/Tools/QtTestBrowser/launcherwindow.h index c470a5adc..5cee7e5c7 100644 --- a/Tools/QtTestBrowser/launcherwindow.h +++ b/Tools/QtTestBrowser/launcherwindow.h @@ -180,8 +180,8 @@ protected Q_SLOTS: #endif #ifndef QT_NO_OPENGL void toggleQGLWidgetViewport(bool enable); -#endif void toggleQOpenGLWidgetViewport(bool enable); +#endif void changeViewportUpdateMode(int mode); void animatedFlip(); |