[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
noam.rosenthal at nokia.com
noam.rosenthal at nokia.com
Wed Dec 22 14:56:42 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit ecdfeac3b7f85c10f9440370f6f504476f2663d1
Author: noam.rosenthal at nokia.com <noam.rosenthal at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 25 20:43:25 2010 +0000
2010-10-25 No'am Rosenthal <noam.rosenthal at nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
the compositor and by the page client.
Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
No new tests: the existing tests under LayoutTests/compositing already cover this.
* platform/graphics/GraphicsLayer.h:
* platform/qt/QWebPageClient.h:
(QWebPageClient::setRootGraphicsLayer):
2010-10-25 No'am Rosenthal <noam.rosenthal at nokia.com>
Reviewed by Kenneth Rohde Christiansen.
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
the compositor and by the page client.
Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
* Api/qwebframe.h:
* Api/qwebframe_p.h:
(QWebFramePrivate::QWebFramePrivate):
* Api/qwebpage.cpp:
(QWebPage::setView):
* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::attachRootGraphicsLayer):
* WebCoreSupport/PageClientQt.cpp:
(WebCore::PlatformLayerProxyQt::PlatformLayerProxyQt):
(WebCore::PlatformLayerProxyQt::~PlatformLayerProxyQt):
(WebCore::PlatformLayerProxyQt::setSizeChanged):
(WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget):
(WebCore::PlatformLayerProxyQWidget::eventFilter):
(WebCore::PlatformLayerProxyQWidget::setNeedsDisplay):
(WebCore::PlatformLayerProxyQWidget::setNeedsDisplayInRect):
(WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsWidget):
(WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplay):
(WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplayInRect):
(WebCore::PageClientQWidget::setRootGraphicsLayer):
(WebCore::PageClientQWidget::markForSync):
(WebCore::PageClientQWidget::syncLayers):
(WebCore::PageClientQGraphicsWidget::updateCompositingScrollPosition):
(WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay):
(WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
* WebCoreSupport/PageClientQt.h:
(WebCore::PageClientQWidget::PageClientQWidget):
(WebCore::PageClientQWidget::allowsAcceleratedCompositing):
(WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 57035b5..d74a525 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -5,6 +5,24 @@
[Texmap] [Qt] Texture mapper initial implementation
https://bugs.webkit.org/show_bug.cgi?id=47070
+ Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
+ a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
+ the compositor and by the page client.
+ Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
+
+ No new tests: the existing tests under LayoutTests/compositing already cover this.
+
+ * platform/graphics/GraphicsLayer.h:
+ * platform/qt/QWebPageClient.h:
+ (QWebPageClient::setRootGraphicsLayer):
+
+2010-10-25 No'am Rosenthal <noam.rosenthal at nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap] [Qt] Texture mapper initial implementation
+ https://bugs.webkit.org/show_bug.cgi?id=47070
+
Add a config flag and a define (WTF_USE_TEXTURE_MAPPER) to WebCore, to enable opt-in compilation of texture-mapper with Qt.
No new tests: WIP for a new implementation.
diff --git a/WebCore/platform/graphics/GraphicsLayer.h b/WebCore/platform/graphics/GraphicsLayer.h
index ad4d056..a476054 100644
--- a/WebCore/platform/graphics/GraphicsLayer.h
+++ b/WebCore/platform/graphics/GraphicsLayer.h
@@ -57,11 +57,19 @@ typedef WKCACFLayer PlatformLayer;
typedef void* NativeLayer;
}
#elif PLATFORM(QT)
+#if USE(TEXTURE_MAPPER)
+namespace WebCore {
+class TextureMapperPlatformLayer;
+typedef TextureMapperPlatformLayer PlatformLayer;
+typedef TextureMapperPlatformLayer* NativeLayer;
+};
+#else
QT_BEGIN_NAMESPACE
-class QGraphicsItem;
+class QGraphicsObject;
QT_END_NAMESPACE
-typedef QGraphicsItem PlatformLayer;
-typedef QGraphicsItem* NativeLayer;
+typedef QGraphicsObject PlatformLayer;
+typedef QGraphicsObject* NativeLayer;
+#endif
#elif PLATFORM(CHROMIUM)
namespace WebCore {
class LayerChromium;
diff --git a/WebCore/platform/qt/QWebPageClient.h b/WebCore/platform/qt/QWebPageClient.h
index f5d8c1b..95ae88c 100644
--- a/WebCore/platform/qt/QWebPageClient.h
+++ b/WebCore/platform/qt/QWebPageClient.h
@@ -30,11 +30,14 @@
#include <QCursor>
#endif
+#if USE(ACCELERATED_COMPOSITING)
+#include <GraphicsLayer.h>
+#endif
+
#include <QPalette>
#include <QRect>
QT_BEGIN_NAMESPACE
-class QGraphicsItem;
class QStyle;
QT_END_NAMESPACE
@@ -49,8 +52,7 @@ public:
virtual void setInputMethodEnabled(bool enable) = 0;
virtual bool inputMethodEnabled() const = 0;
#if USE(ACCELERATED_COMPOSITING)
- // this gets called when we start/stop compositing.
- virtual void setRootGraphicsLayer(QGraphicsItem* layer) {}
+ virtual void setRootGraphicsLayer(PlatformLayer* layer) { }
// this gets called when the compositor wants us to sync the layers
// if scheduleSync is true, we schedule a sync ourselves. otherwise,
diff --git a/WebKit/qt/Api/qwebframe.h b/WebKit/qt/Api/qwebframe.h
index e78fb07..a598a56 100644
--- a/WebKit/qt/Api/qwebframe.h
+++ b/WebKit/qt/Api/qwebframe.h
@@ -56,6 +56,7 @@ namespace WebCore {
class WidgetPrivate;
class FrameLoaderClientQt;
class ChromeClientQt;
+ class PlatformLayerProxyQt;
}
class QWebFrameData;
class QWebHitTestResultPrivate;
@@ -231,6 +232,7 @@ private:
friend class WebCore::WidgetPrivate;
friend class WebCore::FrameLoaderClientQt;
friend class WebCore::ChromeClientQt;
+ friend class WebCore::PlatformLayerProxyQt;
QWebFramePrivate *d;
};
diff --git a/WebKit/qt/Api/qwebframe_p.h b/WebKit/qt/Api/qwebframe_p.h
index 79187ab..5660bd1 100644
--- a/WebKit/qt/Api/qwebframe_p.h
+++ b/WebKit/qt/Api/qwebframe_p.h
@@ -38,6 +38,7 @@ namespace WebCore {
class FrameView;
class HTMLFrameOwnerElement;
class Scrollbar;
+ class TextureMapperContentLayer;
}
class QWebPage;
@@ -72,6 +73,9 @@ public:
, allowsScrolling(true)
, marginWidth(-1)
, marginHeight(-1)
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ , rootGraphicsLayer(0)
+#endif
, zoomTextOnly(false)
{}
void init(QWebFrame* qframe, QWebFrameData* frameData);
@@ -100,6 +104,9 @@ public:
bool allowsScrolling;
int marginWidth;
int marginHeight;
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ WebCore::TextureMapperContentLayer* rootGraphicsLayer;
+#endif
bool zoomTextOnly;
};
diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp
index 2177b41..eabab69 100644
--- a/WebKit/qt/Api/qwebpage.cpp
+++ b/WebKit/qt/Api/qwebpage.cpp
@@ -1850,7 +1850,7 @@ void QWebPage::setView(QWidget* view)
}
if (view)
- d->client = new PageClientQWidget(view);
+ d->client = new PageClientQWidget(view, this);
}
/*!
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index c0c0601..ec41fdf 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,44 @@
+2010-10-25 No'am Rosenthal <noam.rosenthal at nokia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Texmap] [Qt] Texture mapper initial implementation
+ https://bugs.webkit.org/show_bug.cgi?id=47070
+
+ Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
+ a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
+ the compositor and by the page client.
+ Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
+
+ * Api/qwebframe.h:
+ * Api/qwebframe_p.h:
+ (QWebFramePrivate::QWebFramePrivate):
+ * Api/qwebpage.cpp:
+ (QWebPage::setView):
+ * WebCoreSupport/ChromeClientQt.cpp:
+ (WebCore::ChromeClientQt::attachRootGraphicsLayer):
+ * WebCoreSupport/PageClientQt.cpp:
+ (WebCore::PlatformLayerProxyQt::PlatformLayerProxyQt):
+ (WebCore::PlatformLayerProxyQt::~PlatformLayerProxyQt):
+ (WebCore::PlatformLayerProxyQt::setSizeChanged):
+ (WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget):
+ (WebCore::PlatformLayerProxyQWidget::eventFilter):
+ (WebCore::PlatformLayerProxyQWidget::setNeedsDisplay):
+ (WebCore::PlatformLayerProxyQWidget::setNeedsDisplayInRect):
+ (WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsWidget):
+ (WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplay):
+ (WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplayInRect):
+ (WebCore::PageClientQWidget::setRootGraphicsLayer):
+ (WebCore::PageClientQWidget::markForSync):
+ (WebCore::PageClientQWidget::syncLayers):
+ (WebCore::PageClientQGraphicsWidget::updateCompositingScrollPosition):
+ (WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay):
+ (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
+ * WebCoreSupport/PageClientQt.h:
+ (WebCore::PageClientQWidget::PageClientQWidget):
+ (WebCore::PageClientQWidget::allowsAcceleratedCompositing):
+ (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
+
2010-10-25 Johnny Ding <jnd at chromium.org>
Reviewed by Tony Chang.
diff --git a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index bfe29a9..f0d3903 100644
--- a/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -39,7 +39,7 @@
#include "FrameView.h"
#include "Geolocation.h"
#if USE(ACCELERATED_COMPOSITING)
-#include "GraphicsLayerQt.h"
+#include "GraphicsLayer.h"
#endif
#include "GeolocationPermissionClientQt.h"
#include "HitTestResult.h"
@@ -591,7 +591,7 @@ void ChromeClientQt::cancelGeolocationPermissionRequestForFrame(Frame* frame, Ge
void ChromeClientQt::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
{
if (platformPageClient())
- platformPageClient()->setRootGraphicsLayer(graphicsLayer ? graphicsLayer->nativeLayer() : 0);
+ platformPageClient()->setRootGraphicsLayer(graphicsLayer ? graphicsLayer->platformLayer() : 0);
}
void ChromeClientQt::setNeedsOneShotDrawingSynchronization()
diff --git a/WebKit/qt/WebCoreSupport/PageClientQt.cpp b/WebKit/qt/WebCoreSupport/PageClientQt.cpp
index 9aa01a2..4e51f81 100644
--- a/WebKit/qt/WebCoreSupport/PageClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/PageClientQt.cpp
@@ -21,13 +21,127 @@
#include "config.h"
#include "PageClientQt.h"
+#include "texmap/TextureMapperPlatformLayer.h"
#if defined(Q_WS_X11)
#include <QX11Info>
#endif
+#ifdef QT_OPENGL_LIB
+#include <QGLWidget>
+#endif
namespace WebCore {
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+class PlatformLayerProxyQt : public QObject, public virtual TextureMapperLayerClient {
+public:
+ PlatformLayerProxyQt(QWebFrame* frame, TextureMapperContentLayer* layer, QObject* object)
+ : QObject(object)
+ , m_frame(frame)
+ , m_layer(layer)
+ {
+ if (m_layer)
+ m_layer->setPlatformLayerClient(this);
+ m_frame->d->rootGraphicsLayer = m_layer;
+ }
+
+ virtual ~PlatformLayerProxyQt()
+ {
+ if (m_layer)
+ m_layer->setPlatformLayerClient(0);
+ if (m_frame->d)
+ m_frame->d->rootGraphicsLayer = 0;
+ }
+
+ // Since we just paint the composited tree and never create a special item for it, we don't have to handle its size changes.
+ void setSizeChanged(const IntSize&) { }
+
+private:
+ QWebFrame* m_frame;
+ TextureMapperContentLayer* m_layer;
+};
+
+class PlatformLayerProxyQWidget : public PlatformLayerProxyQt {
+public:
+ PlatformLayerProxyQWidget(QWebFrame* frame, TextureMapperContentLayer* layer, QWidget* widget)
+ : PlatformLayerProxyQt(frame, layer, widget)
+ , m_widget(widget)
+ {
+ if (m_widget)
+ m_widget->installEventFilter(this);
+ }
+
+ // We don't want a huge region-clip on the compositing layers; instead we unite the rectangles together
+ // and clear them when the paint actually occurs.
+ bool eventFilter(QObject* object, QEvent* event)
+ {
+ if (object == m_widget && event->type() == QEvent::Paint)
+ m_dirtyRect = QRect();
+ return QObject::eventFilter(object, event);
+ }
+
+ void setNeedsDisplay()
+ {
+ if (m_widget)
+ m_widget->update();
+ }
+
+ void setNeedsDisplayInRect(const IntRect& rect)
+ {
+ m_dirtyRect |= rect;
+ m_widget->update(m_dirtyRect);
+ }
+
+private:
+ QRect m_dirtyRect;
+ QWidget* m_widget;
+};
+
+class PlatformLayerProxyQGraphicsObject : public PlatfromLayerProxyQt {
+public:
+ PlatformLayerProxyQGraphicsWidget(QWebFrame* frame, TextureMapperContentLayer* layer, QGraphicsObject* object)
+ : QObject(object)
+ , m_graphicsItem(graphicsObject)
+ {
+ }
+
+ void setNeedsDisplay()
+ {
+ if (m_graphicsItem)
+ m_graphicsItem->update();
+ }
+
+ void setNeedsDisplayInRect(const IntRect& rect)
+ {
+ if (m_graphicsItem)
+ m_graphicsItem->update(QRectF(rect));
+ }
+
+private:
+ QGraphicsItem* m_graphicsItem;
+};
+
+void PageClientQWidget::setRootGraphicsLayer(TextureMapperPlatformLayer* layer)
+{
+ if (layer) {
+ platformLayerProxy = new PlatformLayerProxyQWidget(page->mainFrame(), static_cast<TextureMapperContentLayer*>(layer), view);
+ return;
+ }
+ delete platformLayerProxy;
+ platformLayerProxy = 0;
+}
+
+void PageClientQWidget::markForSync(bool scheduleSync)
+{
+ syncTimer.startOneShot(0);
+}
+
+void PageClientQWidget::syncLayers(Timer<PageClientQWidget>*)
+{
+ QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateRecursive();
+}
+#endif
+
void PageClientQWidget::scroll(int dx, int dy, const QRect& rectToScroll)
{
view->scroll(qreal(dx), qreal(dy), rectToScroll);
@@ -53,6 +167,13 @@ void PageClientQWidget::setInputMethodHints(Qt::InputMethodHints hints)
view->setInputMethodHints(hints);
}
+PageClientQWidget::~PageClientQWidget()
+{
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ delete platformLayerProxy;
+#endif
+}
+
#ifndef QT_NO_CURSOR
QCursor PageClientQWidget::cursor() const
{
@@ -134,6 +255,8 @@ void PageClientQGraphicsWidget::update(const QRect& dirtyRect)
void PageClientQGraphicsWidget::createOrDeleteOverlay()
{
+ // We don't use an overlay with TextureMapper. Instead, the overlay is drawn inside QWebFrame.
+#if !USE(TEXTURE_MAPPER)
bool useOverlay = false;
if (!viewResizesToContents) {
#if USE(ACCELERATED_COMPOSITING)
@@ -154,6 +277,7 @@ void PageClientQGraphicsWidget::createOrDeleteOverlay()
overlay->deleteLater();
overlay = 0;
}
+#endif // !USE(TEXTURE_MAPPER)
}
#if USE(ACCELERATED_COMPOSITING)
@@ -165,7 +289,18 @@ void PageClientQGraphicsWidget::syncLayers()
}
}
-void PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsItem* layer)
+#if USE(TEXTURE_MAPPER)
+void PageClientQGraphicsWidget::setRootGraphicsLayer(TextureMapperPlatformLayer* layer)
+{
+ if (layer) {
+ platformLayerProxy = new PlatformLayerProxyQGraphicsObject(page->mainFrame(), static_cast<TextureMapperContentLayer*>(layer), 0, view);
+ return;
+ }
+ delete platformLayerProxy;
+ platformLayerProxy = 0;
+}
+#else
+void PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsObject* layer)
{
if (rootGraphicsLayer) {
rootGraphicsLayer.data()->setParentItem(0);
@@ -173,7 +308,7 @@ void PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsItem* layer)
QWebFramePrivate::core(page->mainFrame())->view()->syncCompositingStateRecursive();
}
- rootGraphicsLayer = layer ? layer->toGraphicsObject() : 0;
+ rootGraphicsLayer = layer;
if (layer) {
layer->setFlag(QGraphicsItem::ItemClipsChildrenToShape, true);
@@ -182,6 +317,7 @@ void PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsItem* layer)
}
createOrDeleteOverlay();
}
+#endif
void PageClientQGraphicsWidget::markForSync(bool scheduleSync)
{
diff --git a/WebKit/qt/WebCoreSupport/PageClientQt.h b/WebKit/qt/WebCoreSupport/PageClientQt.h
index 7014fd2..6d989fa 100644
--- a/WebKit/qt/WebCoreSupport/PageClientQt.h
+++ b/WebKit/qt/WebCoreSupport/PageClientQt.h
@@ -41,15 +41,29 @@
#include <Settings.h>
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+#include "texmap/TextureMapperPlatformLayer.h"
+#endif
+
namespace WebCore {
-class PageClientQWidget : public QWebPageClient {
+class PageClientQWidget : public QWebPageClient
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ , public virtual TextureMapperLayerClient
+#endif
+{
public:
- PageClientQWidget(QWidget* view)
- : view(view)
+ PageClientQWidget(QWidget* newView, QWebPage* newPage)
+ : view(newView)
+ , page(newPage)
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ , syncTimer(this, &PageClientQWidget::syncLayers)
+ , platformLayerProxy(0)
+#endif
{
Q_ASSERT(view);
}
+ virtual ~PageClientQWidget();
virtual bool isQWidgetClient() const { return true; }
@@ -78,6 +92,21 @@ public:
virtual QRectF windowRect() const;
QWidget* view;
+ QWebPage* page;
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ virtual void setRootGraphicsLayer(TextureMapperPlatformLayer* layer);
+ virtual void markForSync(bool scheduleSync);
+ void syncLayers(Timer<PageClientQWidget>*);
+#endif
+
+ // QGraphicsWebView can render composited layers
+ virtual bool allowsAcceleratedCompositing() const { return true; }
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ Timer<PageClientQWidget> syncTimer;
+ PlatformLayerProxyQt* platformLayerProxy;
+#endif
};
// the overlay is here for one reason only: to have the scroll-bars and other
@@ -114,13 +143,20 @@ class QGraphicsItemOverlay : public QGraphicsObject {
};
-class PageClientQGraphicsWidget : public QWebPageClient {
+class PageClientQGraphicsWidget : public QWebPageClient
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ , public virtual TextureMapperLayerClient
+#endif
+{
public:
- PageClientQGraphicsWidget(QGraphicsWebView* v, QWebPage* p)
- : view(v)
- , page(p)
+ PageClientQGraphicsWidget(QGraphicsWebView* newView, QWebPage* newPage)
+ : view(newView)
+ , page(newPage)
, viewResizesToContents(false)
#if USE(ACCELERATED_COMPOSITING)
+#if USE(TEXTURE_MAPPER)
+ , platformLayerProxy(0)
+#endif
, shouldSync(false)
#endif
, overlay(0)
@@ -168,7 +204,7 @@ public:
#endif
#if USE(ACCELERATED_COMPOSITING)
- virtual void setRootGraphicsLayer(QGraphicsItem* layer);
+ virtual void setRootGraphicsLayer(PlatformLayer* layer);
virtual void markForSync(bool scheduleSync);
void syncLayers();
@@ -183,8 +219,11 @@ public:
bool viewResizesToContents;
#if USE(ACCELERATED_COMPOSITING)
+#if USE(TEXTURE_MAPPER)
+ PlatformLayerProxyQt* platformLayerProxy;
+#else
QWeakPointer<QGraphicsObject> rootGraphicsLayer;
-
+#endif
// we have to flush quite often, so we use a meta-method instead of QTimer::singleShot for putting the event in the queue
QMetaMethod syncMetaMethod;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list