[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 11:29:45 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit c54c3304c91b2cf6ae031659d0ed0cc823c5cbd4
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jul 27 12:27:29 2010 +0000
2010-07-27 Balazs Kelemen <kb at inf.u-szeged.hu>
Reviewed by Kenneth Rohde Christiansen.
[Qt] WebKit::PageClient implementation needs a dedicated class
https://bugs.webkit.org/show_bug.cgi?id=42974
* UIProcess/API/qt/qwkpage.cpp:
(PageClientImpl::PageClientImpl): Added.
(PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
(PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
(PageClientImpl::processDidExit): Ditto.
(PageClientImpl::processDidRevive): Ditto.
(PageClientImpl::setCursor): Ditto.
(PageClientImpl::takeFocus): Ditto.
(PageClientImpl::toolTipChanged): Ditto.
(QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
* UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64122 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index f2db396..969d5d8 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,23 @@
+2010-07-27 Balazs Kelemen <kb at inf.u-szeged.hu>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] WebKit::PageClient implementation needs a dedicated class
+
+ https://bugs.webkit.org/show_bug.cgi?id=42974
+
+ * UIProcess/API/qt/qwkpage.cpp:
+ (PageClientImpl::PageClientImpl): Added.
+ (PageClientImpl::pageDidEnterAcceleratedCompositing): Moved from QWKPagePrivate.
+ (PageClientImpl::pageDidLeaveAcceleratedCompositing): Ditto.
+ (PageClientImpl::processDidExit): Ditto.
+ (PageClientImpl::processDidRevive): Ditto.
+ (PageClientImpl::setCursor): Ditto.
+ (PageClientImpl::takeFocus): Ditto.
+ (PageClientImpl::toolTipChanged): Ditto.
+ (QWKPagePrivate::QWKPagePrivate): Set a new instance of the PageClientImpl as PageClient rather than 'this'.
+ * UIProcess/API/qt/qwkpage_p.h: Removed PageClient implementation methods from QWKPagePrivate.
+
2010-07-26 Darin Adler <darin at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 5074c2a..ebfd795 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -37,13 +37,40 @@
using namespace WebKit;
using namespace WebCore;
+class PageClientImpl : public WebKit::PageClient {
+public:
+ PageClientImpl(QWKPage* page)
+ : m_page(page)
+ {
+ }
+
+#if USE(ACCELERATED_COMPOSITING)
+ void pageDidEnterAcceleratedCompositing() { }
+ void pageDidLeaveAcceleratedCompositing() { }
+#endif // USE(ACCELERATED_COMPOSITING)
+ virtual void processDidExit() { }
+ virtual void processDidRevive() { }
+ virtual void setCursor(const WebCore::Cursor&) { }
+ virtual void takeFocus(bool direction) { }
+
+ virtual void toolTipChanged(const WebCore::String&, const WebCore::String&);
+
+private:
+ QWKPage* m_page;
+};
+
+void PageClientImpl::toolTipChanged(const String&, const String& newTooltip)
+{
+ emit m_page->statusBarMessage(QString(newTooltip));
+}
+
QWKPagePrivate::QWKPagePrivate(QWKPage* qq, WKPageNamespaceRef namespaceRef)
: q(qq)
, createNewPageFn(0)
{
memset(actions, 0, sizeof(actions));
page = toWK(namespaceRef)->createWebPage();
- page->setPageClient(this);
+ page->setPageClient(new PageClientImpl(qq)); // Ownership is passed to the page.
}
QWKPagePrivate::~QWKPagePrivate()
@@ -56,11 +83,6 @@ void QWKPagePrivate::init(const QSize& viewportSize, DrawingAreaProxy* proxy)
page->initializeWebPage(IntSize(viewportSize), proxy);
}
-void QWKPagePrivate::toolTipChanged(const String&, const String& newTooltip)
-{
- emit q->statusBarMessage(QString(newTooltip));
-}
-
void QWKPagePrivate::paint(QPainter* painter, QRect area)
{
painter->save();
diff --git a/WebKit2/UIProcess/API/qt/qwkpage_p.h b/WebKit2/UIProcess/API/qt/qwkpage_p.h
index 3e676ef..0c617a3 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage_p.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage_p.h
@@ -31,7 +31,7 @@
#include <QGraphicsView>
#include <QKeyEvent>
-class QWKPagePrivate : public WebKit::PageClient {
+class QWKPagePrivate {
public:
QWKPagePrivate(QWKPage*, WKPageNamespaceRef);
~QWKPagePrivate();
@@ -40,16 +40,6 @@ public:
void init(const QSize& viewportSize, WebKit::DrawingAreaProxy*);
-#if USE(ACCELERATED_COMPOSITING)
- void pageDidEnterAcceleratedCompositing() {}
- void pageDidLeaveAcceleratedCompositing() {}
-#endif // USE(ACCELERATED_COMPOSITING)
- virtual void processDidExit() {}
- virtual void processDidRevive() {}
- virtual void setCursor(const WebCore::Cursor&) {}
- virtual void takeFocus(bool direction) {}
- virtual void toolTipChanged(const WebCore::String&, const WebCore::String&);
-
void paint(QPainter* painter, QRect);
void keyPressEvent(QKeyEvent*);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list