From ab9e7a118cf1ea2e3a93dce683b2ded3e7291ddb Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Mon, 16 May 2011 16:25:10 +0100 Subject: Merge WebKit at r76408: Initial merge by git. Change-Id: I5b91decbd693ccbf5c1b8354b37cd68cc9a1ea53 --- .../WebKit2/UIProcess/API/qt/qgraphicswkview.cpp | 16 +++---------- Source/WebKit2/UIProcess/API/qt/qwkpage.cpp | 27 ++++++++++++++++++---- Source/WebKit2/UIProcess/API/qt/qwkpage_p.h | 7 ++++-- 3 files changed, 31 insertions(+), 19 deletions(-) (limited to 'Source/WebKit2/UIProcess/API/qt') diff --git a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp index f01c5b2..ec23760 100644 --- a/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp @@ -66,24 +66,14 @@ QGraphicsWKView::QGraphicsWKView(QWKContext* context, BackingStoreType backingSt setFocusPolicy(Qt::StrongFocus); setAcceptHoverEvents(true); - PassOwnPtr drawingAreaProxy; - d->page = new QWKPage(context); - - switch (backingStoreType) { #if ENABLE(TILED_BACKING_STORE) - case Tiled: - drawingAreaProxy = TiledDrawingAreaProxy::create(this, toImpl(page()->pageRef())); + if (backingStoreType == Tiled) connect(this, SIGNAL(scaleChanged()), this, SLOT(onScaleChanged())); - break; #endif - case Simple: - default: - drawingAreaProxy = ChunkedUpdateDrawingAreaProxy::create(this, toImpl(page()->pageRef())); - break; - } - d->page->d->init(this, drawingAreaProxy); + d->page = new QWKPage(context); + d->page->d->init(this, backingStoreType); connect(d->page, SIGNAL(titleChanged(QString)), this, SIGNAL(titleChanged(QString))); connect(d->page, SIGNAL(loadStarted()), this, SIGNAL(loadStarted())); connect(d->page, SIGNAL(loadFinished(bool)), this, SIGNAL(loadFinished(bool))); diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp index 638d9e3..72c1322 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qwkpage.cpp @@ -88,6 +88,7 @@ QWKPagePrivate::QWKPagePrivate(QWKPage* qq, QWKContext* c) , context(c) , preferences(0) , createNewPageFn(0) + , backingStoreType(QGraphicsWKView::Simple) { memset(actions, 0, sizeof(actions)); page = context->d->context->createWebPage(this, 0); @@ -100,10 +101,10 @@ QWKPagePrivate::~QWKPagePrivate() delete history; } -void QWKPagePrivate::init(QGraphicsItem* view, PassOwnPtr proxy) +void QWKPagePrivate::init(QGraphicsItem* view, QGraphicsWKView::BackingStoreType backingStoreType) { this->view = view; - page->setDrawingArea(proxy); + this->backingStoreType = backingStoreType; page->initializeWebPage(); } @@ -131,7 +132,7 @@ PassOwnPtr QWKPagePrivate::createDrawingAreaProxy() QGraphicsWKView* wkView = static_cast(view); #if ENABLE(TILED_BACKING_STORE) - if (page->drawingArea()->info().type == DrawingAreaInfo::Tiled) + if (backingStoreType == QGraphicsWKView::Tiled) return TiledDrawingAreaProxy::create(wkView, page.get()); #endif return ChunkedUpdateDrawingAreaProxy::create(wkView, page.get()); @@ -147,6 +148,11 @@ void QWKPagePrivate::displayView() // FIXME: Implement. } +void QWKPagePrivate::scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset) +{ + // FIXME: Implement. +} + WebCore::IntSize QWKPagePrivate::viewSize() { // FIXME: Implement. @@ -380,6 +386,13 @@ void QWKPagePrivate::touchEvent(QTouchEvent* event) #endif } +void QWKPagePrivate::didRelaunchProcess() +{ + QGraphicsWKView* wkView = static_cast(view); + if (wkView) + q->setViewportSize(wkView->size().toSize()); +} + QWKPage::QWKPage(QWKContext* context) : d(new QWKPagePrivate(this, context)) { @@ -440,7 +453,13 @@ QWKPage::QWKPage(QWKContext* context) 0, /* pageDidScroll */ 0, /* exceededDatabaseQuota */ 0, /* runOpenPanel */ - 0 /* decidePolicyForGeolocationPermissionRequest */ + 0, /* decidePolicyForGeolocationPermissionRequest */ + 0, /* headerHeight */ + 0, /* footerHeight */ + 0, /* drawHeader */ + 0, /* drawFooter */ + 0, /* printFrame */ + 0 /* runModal */ }; WKPageSetPageUIClient(pageRef(), &uiClient); } diff --git a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h index 85135c2..420ff62 100644 --- a/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h +++ b/Source/WebKit2/UIProcess/API/qt/qwkpage_p.h @@ -24,6 +24,7 @@ #include "DrawingAreaProxy.h" #include "PageClient.h" #include "qwkpage.h" +#include "qgraphicswkview.h" #include "WebPageProxy.h" #include #include @@ -41,12 +42,13 @@ public: static QWKPagePrivate* get(QWKPage* page) { return page->d; } - void init(QGraphicsItem*, WTF::PassOwnPtr); + void init(QGraphicsItem*, QGraphicsWKView::BackingStoreType); // PageClient virtual PassOwnPtr createDrawingAreaProxy(); virtual void setViewNeedsDisplay(const WebCore::IntRect&); virtual void displayView(); + virtual void scrollView(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset); virtual WebCore::IntSize viewSize(); virtual bool isViewWindowActive(); @@ -60,7 +62,7 @@ public: #endif // USE(ACCELERATED_COMPOSITING) virtual void pageDidRequestScroll(const WebCore::IntSize&); virtual void processDidCrash() { } - virtual void didRelaunchProcess() { } + virtual void didRelaunchProcess(); virtual void didChangeContentsSize(const WebCore::IntSize&); virtual void didFindZoomableArea(const WebCore::IntRect&); virtual void setCursor(const WebCore::Cursor&); @@ -119,6 +121,7 @@ public: QPoint tripleClick; QBasicTimer tripleClickTimer; + QGraphicsWKView::BackingStoreType backingStoreType; }; class QtViewportAttributesPrivate : public QSharedData { -- cgit v1.1