summaryrefslogtreecommitdiffstats
path: root/Source/WebKit/qt
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit/qt')
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp7
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h2
-rw-r--r--Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp3
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage.cpp8
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebview.cpp4
-rw-r--r--Source/WebKit/qt/WidgetSupport/PageClientQt.cpp10
-rw-r--r--Source/WebKit/qt/WidgetSupport/PageClientQt.h2
-rw-r--r--Source/WebKit/qt/docs/qtwebkit-bridge.qdoc2
8 files changed, 35 insertions, 3 deletions
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index f12fec923..d1a7f6cab 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -345,6 +345,13 @@ QWebPageAdapter::VisibilityState QWebPageAdapter::visibilityState() const
#endif
}
+void QWebPageAdapter::setPluginsVisible(bool visible)
+{
+ if (!page)
+ return;
+ page->pluginVisibilityChanged(visible);
+}
+
void QWebPageAdapter::setNetworkAccessManager(QNetworkAccessManager *manager)
{
if (manager == networkManager)
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
index d08df953b..ee4d2595a 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
@@ -267,6 +267,8 @@ public:
void setVisibilityState(VisibilityState);
VisibilityState visibilityState() const;
+ void setPluginsVisible(bool visible);
+
static QWebPageAdapter* kit(WebCore::Page*);
WebCore::ViewportArguments viewportArguments() const;
void registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep>);
diff --git a/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp b/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
index a35252093..fe4a16ead 100644
--- a/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
+++ b/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
@@ -409,6 +409,9 @@ bool QGraphicsWebView::event(QEvent* event)
d->page->d->client->resetCursor();
}
#endif
+ if (event->type() == QEvent::Show
+ || event->type() == QEvent::Hide)
+ d->page->event(event);
}
}
return QGraphicsWidget::event(event);
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage.cpp b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
index 613c1ac56..02bddebda 100644
--- a/Source/WebKit/qt/WidgetApi/qwebpage.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
@@ -1003,7 +1003,7 @@ bool QWebPagePrivate::gestureEvent(QGestureEvent* event)
\a property specifies which property is queried.
- \sa QWidget::inputMethodEvent(), QInputMethodEvent, QInputContext
+ \sa QWidget::inputMethodEvent(), QInputMethodEvent
*/
QVariant QWebPage::inputMethodQuery(Qt::InputMethodQuery property) const
{
@@ -2690,6 +2690,12 @@ bool QWebPage::event(QEvent *ev)
d->dynamicPropertyChangeEvent(this, static_cast<QDynamicPropertyChangeEvent*>(ev));
break;
#endif
+ case QEvent::Show:
+ d->setPluginsVisible(true);
+ break;
+ case QEvent::Hide:
+ d->setPluginsVisible(false);
+ break;
default:
return QObject::event(ev);
}
diff --git a/Source/WebKit/qt/WidgetApi/qwebview.cpp b/Source/WebKit/qt/WidgetApi/qwebview.cpp
index 1a35b325c..05cf042b0 100644
--- a/Source/WebKit/qt/WidgetApi/qwebview.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebview.cpp
@@ -703,7 +703,9 @@ bool QWebView::event(QEvent *e)
d->page->updatePositionDependentActions(event->pos());
} else
#endif // QT_NO_CONTEXTMENU
- if (e->type() == QEvent::ShortcutOverride) {
+ if (e->type() == QEvent::ShortcutOverride
+ || e->type() == QEvent::Show
+ || e->type() == QEvent::Hide) {
d->page->event(e);
#ifndef QT_NO_CURSOR
} else if (e->type() == QEvent::CursorChange) {
diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
index 8333a59cc..858290f6e 100644
--- a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
+++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
@@ -157,6 +157,11 @@ void PageClientQWidget::setWidgetVisible(Widget* widget, bool visible)
qtWidget->setVisible(visible);
}
+bool PageClientQWidget::isViewVisible()
+{
+ return view ? view->isVisible() : false;
+}
+
#if !defined(QT_NO_GRAPHICSVIEW)
PageClientQGraphicsWidget::~PageClientQGraphicsWidget()
{
@@ -343,6 +348,11 @@ QGraphicsView* PageClientQGraphicsWidget::firstGraphicsView() const
return view->scene()->views().first();
return 0;
}
+
+bool PageClientQGraphicsWidget::isViewVisible()
+{
+ return view ? view->isVisible() : false;
+}
#endif // QT_NO_GRAPHICSVIEW
} // namespace WebCore
diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.h b/Source/WebKit/qt/WidgetSupport/PageClientQt.h
index 5db890eb5..8c7953634 100644
--- a/Source/WebKit/qt/WidgetSupport/PageClientQt.h
+++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.h
@@ -83,6 +83,7 @@ public:
virtual QRectF windowRect() const;
virtual void setWidgetVisible(Widget*, bool visible);
+ virtual bool isViewVisible();
QWidget* view;
QWebPage* page;
@@ -168,6 +169,7 @@ public:
virtual bool viewResizesToContentsEnabled() const { return viewResizesToContents; }
virtual void setWidgetVisible(Widget*, bool);
+ virtual bool isViewVisible();
#if USE(TILED_BACKING_STORE)
virtual QRectF graphicsItemVisibleRect() const;
diff --git a/Source/WebKit/qt/docs/qtwebkit-bridge.qdoc b/Source/WebKit/qt/docs/qtwebkit-bridge.qdoc
index 5db9e931c..674475bee 100644
--- a/Source/WebKit/qt/docs/qtwebkit-bridge.qdoc
+++ b/Source/WebKit/qt/docs/qtwebkit-bridge.qdoc
@@ -22,7 +22,7 @@
The playlist manager is usually best authored as a classic desktop application,
with the native-looking robust \l{QWidget}s as the application's backbone.
The media-player control usually has a custom look and feel and is best written using the \l{Graphics View framework}
- or \l{QtDeclarative}. The music store, which shows dynamic content
+ or \l{Qt Quick}. The music store, which shows dynamic content
from the Internet and gets modified rapidly, is best authored in HTML and maintained on the server.
With the Qt WebKit bridge, the music store component can interact with native parts of the application,